Hibernate4.3基础知识1

一、Hibernate 开发环境搭建 4.3

  1、导包    2、创建hibernate.cfg.xml配置文件   3、创建实体类   4、创建映射文件 实体类名.hbm.xml  配置文件

二、hibernate.cfg.xml剖析

  1、数据库链接配置

1 <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
2 <property name="connection.url">jdbc:mysql://localhost:3306/hiber01</property>
3 <property name="connection.username">root</property>
4 <property name="connection.password">root</property>

  2、可选配置

  hibernate默认使用 的连接池,

1 <property name="connection.pool_size">1</property>

  数据库方言

1 <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

  是否输出SQL语句

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

  c3p0连接池配置

1 <property name="c3p0.min_size">10</property>
2 <property name="c3p0.max_size">100</property>
3 <property name="c3p0.timeout">3000</property>

  建表策略

1 <property name="hbm2ddl.auto">none</property>

    可选值:

    none:不做任何事

    update:如果没有表则建表,有表则更新

    create-drop:操作时建表,操作完毕删表

    validate:验证数据库表和mapping映射关系是否正确

·  注册映射文件

1 <mapping resource="com/rl/hiber/model/User.hbm.xml"/>

三、映射文件配置

 1 <!-- 配置类域表之间的关系 -->
 2     <class name="com.tx.hiber.model.Person" table="t_person">
 3         <!-- 主键映射 -->
 4         <id name="id" column="p_id">
 5             <!-- 主键生成策略assigned手动生成、increment sequence native uuid -->
 6             <generator class="assigned"></generator>
 7         </id>
 8         <!-- 属性映射 -->
 9         <property name="pname" column="pname"></property>
10         <property name="pgender" column="pgender"></property>
11         <property name="birthday" column="birthday"></property>
12     </class>

  class属性: name:全路径名称    table:表名   

  主键映射: 映射策略有:assigned(手动指定)   increment(主键自增、有线程并发问题)   identity(Mysql自增,数值类型,有锁机制)  sequence(Oracle数据库自增)

       native(智能选择自增)   uuid(生成32位字符串) 

  property属性:name:属性名  column:列名    type:hibernate提供的数据类型    length:映射到数据库表中字段长度  not-null  不为空      unique-key:唯一约束键名

 

四、创建sesionFactory

1 //创建配置对象
2 Configuration conf = new Configuration();
3 //读取配置文件
4 conf.configure("hibernate.cfg.xml");
5 //注册配置属性
6 ServiceRegistry sr = new StandardServiceRegistryBuilder().applySettings(conf.getProperties()).build();
7 //创建工厂
8 sf = conf.buildSessionFactory(sr);

五、hibernate对象三种状态

 

  

  

posted @ 2018-03-28 13:24  cat_fish  阅读(172)  评论(0编辑  收藏  举报