Hibernate之开发环境搭建

Hibernate 学习

*学习思路:

(1)Hibernate运行环境需要的最少jar包

(2)Hibernate.cfg.xml/Bean.hbm.xml/web.xml基础配置方法

(3)创建SessionFactory,获得Session当前会话的方法

(4)get/load/save/update/delete基本HQL查询

(5)Hibernate高级配置(id、关联配置、继承配置)

(6)HQL高级查询以及复杂查询

*笔记:

1.基本概念了解:

ORM 对象关系映射

2.Hibernate必须的jar包:

  • antlr-*.jar//其他工具辅助包
  • commons-collection-*.jar//必须的集合类工具包
  • dom4j-*.jar//hibernate靠其读写xml配置文件
  • hibernate*.jar//核心包
  • jta-*.jar//jta规范包
  • db-connection-java-*.jar//数据库连接包

       //以下的包hibernate版本不一样,存在差异

  • javassist-*.jar//字节码增强包(更高版本已经换成[cglib.jar]+[asm.jar]+[asm-attrs.jar])
  • slf4j-api-*.jar//
  • slf4j-nop-*.jar//

3.实现Hibernate运行

1>.在src中新建hibernate.cfg.xml配置文件//配置数据库连接参数,其可以在hibernate.properties中寻找

//hibernate.connection.url---访问数据库的url地址

//hibernate.connection.username---访问数据库的用户名

//hibernate.connection.password---访问数据库的密码

//hibernate.connection.driver_calss---访问数据库所需的驱动包

//hibernate.dialect---访问数据库的方言

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 
<session-factory> 
    <property name="show_sql">true</property> 
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="hibernate.connection.url">jdbc:mysql://192.168.101.248/xcz</property> 
    <property name="hibernate.connection.username">root</property> 
    <property name="hibernate.connection.password">root</property> 
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 

  <mapping resource="com/xcz/domain/Student.hbm.xml"/>

</session-factory> 

</hibernate-configuration>

 

2>.Xxxx.hbm.xml映射文件(例如com.xcz.domain.User)

将该文件以需要映射的类的类名.hbm.xml命名放在跟映射类同包中

加入映射配置

Class----table

属性(Attribute)----列

对象----一条数据

hibernate中要求每个对象都应该有一个唯一性的标用作对应数据库中的主键

使用<id>映射主键,generator为主键生成策略(由hibernate已经写好)

<idname="id"column="id">

<generatorclass="uuid.hex"/>

</id>

使用<property>来映射属性

<propertyname="username"length="20"/>

配置写好后将该映射文件加入到hibernate的主配置中:

            <mapping resource="com/chinasofti/domain/User.hbm.xml"/>

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="Calendar" table="t_calendar" catalog="db_personalkit">
        <id name="id" type="java.lang.String">
            <column name="id" length="36" />
            <generator class="uuid.hex"></generator>
        </id>
        <many-to-one name="user" class="User" fetch="select">
            <column name="planowner" length="36" />
        </many-to-one>
        
        <property name="planStartTm" type="java.util.Date">
            <column name="planstarttm" length="19" />
        </property>
        <property name="planEndTm" type="java.util.Date">
            <column name="planendtm" length="19" />
        </property>
        <property name="planTitle" type="java.lang.String">
            <column name="plantitle" length="100" />
        </property>
        <property name="planContent" type="java.lang.String">
            <column name="plancontent" length="500" />
        </property>
        <property name="planStatue" type="java.lang.Integer">
            <column name="planstatue" />
        </property>
        
    </class>
</hibernate-mapping>

相关推荐