• 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对象三种状态

      

      

  • 相关阅读:
    Java多线程系列--“JUC锁”03之 公平锁(一)
    Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock
    Java多线程系列--“JUC锁”01之 框架
    BIO,NIO,AIO
    Java多线程系列--“JUC线程池”06之 Callable和Future
    Java多线程系列--“JUC线程池”05之 线程池原理(四)
    Java多线程系列--“JUC线程池”04之 线程池原理(三)
    Java多线程系列--“JUC线程池”03之 线程池原理(二)
    Java多线程系列--“JUC线程池”02之 线程池原理(一)
    Java多线程系列--“JUC线程池”01之 线程池架构
  • 原文地址:https://www.cnblogs.com/cat-fish6/p/8663305.html
Copyright © 2020-2023  润新知