读书人

Hibernate之开发环境筹建

发布时间: 2012-11-17 11:14:14 作者: rapoo

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已经写好)
??????????? <id name="id" column="id">
??????? <generator />
??????????? </id>
??????? 使用<property>来映射属性
??????????? <property name="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 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>

?

?

?

读书人网 >软件架构设计

热点推荐