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>