标签:
hibernate的一些基本的认识
把对象持久化: 把对象的信息保存到数据库或者是文件.
总结: hibernate是对jdbc进行轻量级封装的orm框架,充当项目的持久层。
为什么需要Hibernate ?
快速入门案列:
Hibernate可以用在j2ee(web)项目 , 亦可以用于j2se项目中。
我们使用手动配置hibernate方式开发一个hibernate项目,完成crud操作,开发流程:
开发流程:
}
使用第二种方式开发项目
创建employ表,
5. 开发domain对象和对象关系映射文件
对象关系映射文件,作用是用于指定domain对象和表的映射关系,该文件的取名有规范domain文件。 Hbm.xml.一般我们放在和domain对象同一个文件夹下(包下)
创建一个序列,j将来进行必要的增长…..
1 <class name="Employee.java" table="employee"> 2 <!-- id元素用于指定主键属性 --> 3 <id name="id" column="id" type="java.lang.String"> 4 <!-- 该元素用于指定主键生成策略 hilo native increment sequence --> 5 <!-- 6 <generator class="sequence"> 7 <param name="sequence">emp_seq</param> 8 </generator> 9 --> 10 </id> 11 <property name="id" type="java.lang.String"> 12 <column name="id" not-null="false" /> 13 </property> 14 <property name="name" type="java.lang.String"> 15 <column name="name" not-null="false" /> 16 </property> 17 <property name="email" type="java.lang.String"> 18 <column name="email" not-null="false" /> 19 </property> 20 <property name="hibernate" type="java.util.Date"> 21 <column name="hibernate" not-null="false" /> 22 </property> 23 </class>
1 <session-factory> 2 <!-- hibernate 设计者,给我们提供了一些常用的配置 --> 3 4 <!-- 配置使用的driver --> 5 <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 6 7 <!-- 配置使用的url --> 8 <property name="connection.url">jdbc:mysql://localhost:3306/bigweb</property> 9 10 <!-- 配置使用的username --> 11 <property name="connection.username">root</property> 12 13 <!-- 配置使用的password --> 14 <property name="connection.password">123</property> 15 16 <!-- 配置dialect方言,明确告诉连接那种数据库 --> 17 <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 18 19 <!-- 添加一个映射文件 --> 20 <mapping resource="com/gxj/domain/Employee.hbm.xml"/> 21 22 </session-factory>
1 public class TestMain { 2 /** 3 * @param args 4 */ 5 public static void main(String [] args){ 6 //我们使用hibernate完成crud操作[这里我们只见对象,不见表] 7 //现在我们不是用Service,直接测试 8 //1,创建configuration,该对象用于读取hibernate.cfg.xml,并完成初始化 9 Configuration configuration = new Configuration().configure(); 10 //2.创建SessionFactory[这是一个会话工厂,是一个重量级的对象] 11 SessionFactory seesionFactory = configuration.buildSessionFactory(); 12 Session session = seesionFactory.openSession(); 13 //4.对hiberate而言,要求程序员,在进行crud的时候,使用事务提交,否者不生效 14 Transaction transaction = session.beginTransaction(); 15 //3.创建Session相当于jdbc Connection [servlet HttpSession,也不是jsp Session] 16 //添加一个雇员 17 Employee employee= new Employee(); 18 employee.setId("1"); 19 employee.setName("龚细军"); 20 employee.setEmail("1005267096@qq.com"); 21 employee.setHibernate(new Date()); 22 //insert......... 23 //保存 24 session.save(employee); 25 //提交 26 transaction.commit(); 27 session.close(); 28 }
1 <hibernate-configuration> 2 <session-factory> 3 <!-- hibernate 设计者,给我们提供了一些常用的配置 --> 4 5 <!-- 配置使用的driver --> 6 <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 7 8 <!-- 配置使用的url --> 9 <property name="connection.url">jdbc:mysql://localhost:3306/bigweb</property> 10 11 <!-- 配置使用的username --> 12 <property name="connection.username">root</property> 13 14 <!-- 配置使用的password --> 15 <property name="connection.password">123</property> 16 17 <!-- 配置dialect方言,明确告诉连接那种数据库 --> 18 <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 19 <!-- 让mysql自动给我们创建表 ,create,表示如果没有该表则创建,如果有,删除后,再创建--> 20 <!-- 对于update,如果有这个表,而却表的结构没有发生变化,则不创建,否则创建,如果没有表则创建新表 --> 21 22 <property name="hbm2ddl.auto">update</property> 23 <!-- 添加一个映射文件 --> 24 <mapping resource="com/gxj/domain/Employee.hbm.xml"/> 25 26 </session-factory> 27 1. </hibernate-configuration>
1 2. 对对象映射文件,做了相应的修改 2 <!-- id元素用于指定主键属性 --> 3 <!-- 对主键生成策略,我们做了修改 --> 4 <id name="id" column="id" type="java.lang.Integer"> 5 <!-- 该元素用于指定主键生成策略 hilo native increment sequence --> 6 <!-- 7 <column name="id" not-null="false" /> 8 <generator class="sequence"> 9 <param name="sequence">emp_seq</param> 10 </generator> 11 --> 12 <generator class="increment"></generator> 13 </id> 14 1.
hibernate是轻量级的orm框架.orm全称是object/relation mapping [对象/关系 映射]
O : object –业务层(只对对象进行操作)
R: reletion—关系数据库
M:mapping---对象关系映射文件
------什么是POJO类? 它有什么要求?
除了Hibernate 这个orm框架,还有一些:
Apache ojb /toplink/ibatis/ejb cmp 这些都是orm框架
Configuration类:
(1).负责管理hibernate的配置信息
(2).读取hibernate.cfg.xml
(3).加载hibernate.cfg.xml配置文件中配置的驱动,url,用户名,密码,连接池。
(4).管理,*.hbm.xml对象关系文件。
Hibernate.cfg.xml文件
1,这里我们讨论一个通过SessionFactory获取Session的两个方法,openSession()一个getCurrentSession();
标签:
原文地址:http://www.cnblogs.com/gongxijun/p/4312285.html