Hello Word

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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

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

3、 编写log4j.properties

4、 hibernate.cfg.xml讲解

 

 1 <session-factory>
 2     <!-- 配置数据库连接信息 -->
 3     <!-- 数据库驱动 -->
 4     <property name="connection.driver_class">
 5         com.mysql.jdbc.Driver
 6     </property>
 7     <!-- url 相当于:jdbc:mysql://localhost:3306/hibernate4-->
 8     <property name="connection.url">
 9         jdbc:mysql:///hibernate4
10     </property>
11     <property name="connection.username">root</property>
12     <property name="connection.password">root</property>
13     <!-- hibernate可选项信息 -->
14     <!-- 数据库方言 -->
15     <property name="dialect">
16         org.hibernate.dialect.MySQL5Dialect
17     </property>
18     <!-- 是否打印sql语句 -->
19     <property name="show_sql">true</property>
20     <!-- 格式化sql语句 -->
21     <property name="format_sql">true</property>
22     <!-- 数据库更新方式:
23         create:每次执行 都先把原有数据表删除,然后创建该表
24          create-drop:使用 create-drop时,在显式关闭SessionFactory时,
25          将drop掉数据库schema(表). 
26          validate:检测
27          update:如果表不存在 则创建,有就不用创建
28      -->
29     <property name="hbm2ddl.auto">update</property>
30     <!-- 映射文件信息 -->
31     <mapping resource="cn/siggy/pojo/User.hbm.xml" />
32 </session-factory>

 

5*.hbm.xml讲解

 

 1     <!-- package声明pojo类所在的包,如果不写 那么在class中需要指明pojo类所在的包
 2          schema指数据库模式 一个模式下可以有多张表
 3      -->
 4 <hibernate-mapping package="cn.siggy.pojo" >
 5     <!-- class指映射一个pojo类
 6         提供了公共的无参构造方法-通过反射产生对象
 7         属性用private修饰,并且生成对应的get/set方法
 8         类不能用final来修饰-hibernate会产生代理类(cglib)
 9         类需要指明标识
10         name表示pojo类名
11         table表示pojo类对应数据库中的表名;如果不写默认是类名
12      -->
13     <class name="User" table="user">
14         <!-- 
15             id表示实体类的标识(OID)
16             对应数据库表中的主键
17             name指实体类的标识属性名
18             column表示对应数据库表的列名:如果不写 则数据库表中列名和属性名一致
19             length表示数据库表中 对应数据类型的长度 ,如果不写有默认长度
20             type表示类型如果不写hibernate可以找到对应pojo类的属性的类型
21          -->
22         <id name="id" column="id">
23             <!-- 主键生成策略
24                 increment 用于为long, short或者int类型生成 唯一标识。
25                 只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用
26                 (mysql,ms sql)
27                 identity 对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL
28                 的内置标识字段提供支持。 返回的标识符是long, short 或者int类型的。 
29                 sequence 在支持序列的数据库中使用 oracle
30                 <generator class="sequence">
31                     <param name="sequence">user_seq</param>
32                 </generator>
33                 uuid UUID被编码为一个32位16进制数字的字符串。 
34                 native 根据底层数据库的能力选择identity, sequence 或者hilo中的一个。
35                 assigned 自己指定主键
36              -->
37             <generator class="native"/>
38         </id>
39         <!-- 实体类的属性 
40             name:指明 pojo类属性名称(区分大小写)
41         -->
42         <property name="name">
43             <column name="name"></column>
44         </property>    
45         <property name="pwd"/>    
46     </class>
47 </hibernate-mapping>

 

posted on 2016-05-31 15:24  该名称已被使用  阅读(999)  评论(0编辑  收藏  举报