Hibernate 日志实现

Hibernate4log

1、  确定要使用日志的实现log4j

2、  Slf4japi.jar和log4j的jar包放入classpath,(slf4j-log4j.jar)

3、  编写log4j.properties

4、  hibernate.cfg.xml讲解

<session-factory>

    <!-- 配置数据库连接信息 -->

    <!-- 数据库驱动 -->

    <property name="connection.driver_class">

       com.mysql.jdbc.Driver

    </property>

    <!-- url 相当于:jdbc:mysql://localhost:3306/hibernate4-->

    <property name="connection.url">

       jdbc:mysql:///hibernate4

    </property>

    <property name="connection.username">root</property>

    <property name="connection.password">root</property>

    <!-- hibernate可选项信息 -->

    <!-- 数据库方言 -->

    <property name="dialect">

       org.hibernate.dialect.MySQL5Dialect

    </property>

    <!-- 是否打印sql语句 -->

    <property name="show_sql">true</property>

    <!-- 格式化sql语句 -->

    <property name="format_sql">true</property>

    <!-- 数据库更新方式:

       create:每次执行都先把原有数据表删除,然后创建该表

        create-drop:使用 create-drop,在显式关闭SessionFactory时,

        drop掉数据库schema().

        validate:检测

        update:如果表不存在则创建,有就不用创建

     -->

    <property name="hbm2ddl.auto">update</property>

    <!-- 映射文件信息 -->

    <mapping resource="cn/siggy/pojo/User.hbm.xml" />

</session-factory>

 

5、*.hbm.xml讲解

   <!-- package声明pojo类所在的包,如果不写那么在class中需要指明pojo类所在的包

       schema指数据库模式一个模式下可以有多张表

    -->

<hibernate-mapping package="cn.siggy.pojo" >

   <!-- class指映射一个pojo

      提供了公共的无参构造方法-通过反射产生对象

      属性用private修饰,并且生成对应的get/set方法

      类不能用final来修饰-hibernate会产生代理类(cglib

      类需要指明标识

      name表示pojo类名

      table表示pojo类对应数据库中的表名;如果不写默认是类名

    -->

   <class name="User" table="user">

      <!--

         id表示实体类的标识(OID)

         对应数据库表中的主键

         name指实体类的标识属性名

         column表示对应数据库表的列名:如果不写则数据库表中列名和属性名一致

         length表示数据库表中对应数据类型的长度,如果不写有默认长度

         type表示类型如果不写hibernate可以找到对应pojo类的属性的类型

       -->

      <id name="id" column="id">

         <!-- 主键生成策略

            increment 用于为long, short或者int类型生成唯一标识。

            只有在没有其他进程往同一张表中插入数据时才能使用。在集群下不要使用

            (mysql,ms sql)

            identity DB2,MySQL, MS SQL Server, SybaseHypersonicSQL

            的内置标识字段提供支持。返回的标识符是long, short 或者int类型的。

            sequence 在支持序列的数据库中使用 oracle

            <generator class="sequence">

                <param name="sequence">user_seq</param>

            </generator>

            uuid UUID被编码为一个3216进制数字的字符串。

            native 根据底层数据库的能力选择identity, sequence 或者hilo中的一个。

            assigned 自己指定主键

          -->

         <generator class="native"/>

      </id>

      <!-- 实体类的属性

         name:指明 pojo类属性名称(区分大小写)

      -->

      <property name="name">

         <column name="name"></column>

      </property>

      <property name="pwd"/>  

   </class>

</hibernate-mapping>

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小胖墩有点瘦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值