hibernate 入门案例

来源:互联网 发布:华侨大学hqu网络 编辑:程序博客网 时间:2024/05/01 02:10

hibernate框架介绍:

ORM概念(很重要)

O,Object 对象.       R,Relation 关系.     M,Mapping 映射

ORM:对象关系映射!

ORM,解决了什么问题?

存储:能否把对象的数据直接保存到数据库中

获取:能否直接从数据库拿到一个对象

要想做到上述两点,必须要有映射

总结:Hibernate与 ORM的关系:Hibernate是ORM的实现

如何搭建一个Hibernate开发环境,开发步骤:

(1)下载源码:版本hibernate-distribution-3.6.0.Final

(2)引入jar文件 :Hibernate3.jar核心+required必须引入的(6个)+jsp目录+mysql驱动

(3)写对象以及对象的映射

Employee.java 对象

Employee.hbm.xml 对象的映射(一般我们使用hbm.xml结尾,这是为了区分Hibernate映射文件)

(4)src/hibernate.cfg.xml(这个文件的命名必须这样写)

1.Employee.java

package cn.itcast.hello;import java.util.Date;public class Employee {private int id;private String empName;private Date workDate;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getEmpName() {return empName;}public void setEmpName(String empName) {this.empName = empName;}public Date getWorkDate() {return workDate;}public void setWorkDate(Date workDate) {this.workDate = workDate;}}
2.Employee.hbm.xml文件

主要包括主键映射和非主键映射

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="cn.itcast.hello"><class name="Employee" table="employee"><!-- 主键  映射--><id name="id"><generator class="native"></generator></id><!-- 非主键 映射 --><property name="empName" column="empName"></property><property name="workDate" column="workDate"></property></class></hibernate-mapping>
3.hibernate.cfg.xml文件

(1)数据库连接的配置.如果不懂可以去Hibernate源码/project/etc/hibernate.properties找到复制粘贴即可

(2)其他配置包括方言以及是不是自动建表的配置信息

(3)映射文件的引入.<mapping resource="配置文件的目录"/>

<!DOCTYPE hibernate-configuration PUBLIC        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><!-- 1.数据库的配置信息 --><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:///day25</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">169500</property><!-- 2.其他配置信息,hibernate在运行的时候,会根据不同的方言生成符合当前数据库语法的sql语句 --><property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property><!-- 显示sql语句信息 --><property name="hibernate.show_sql">true</property><property name="hibernate.hbm2ddl.auto">create</property><!-- 3.导入映射文件 --><mapping resource="cn/itcast/hello/Employee.hbm.xml"/></session-factory></hibernate-configuration>
4.测试类AppTest

编写步骤:

(1).获取加载配置文件的管理类对象.(2).加载配置文件.(3).创建session工厂对象.(4).创建session(代表的是一个对话,与数据库连接的会话).(5).开启事务.(6).与数据库的操作.(7).提交事务.(8).关闭资源.

package cn.itcast.hello;import java.util.Date;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.classic.Session;import org.junit.Test;public class AppTest {@Testpublic void test(){Employee emp=new Employee();emp.setEmpName("李卫康");emp.setWorkDate(new Date());//1.获取加载配置文件的管理类对象Configuration config=new Configuration();//2.加载配置文件config.configure();//默认加载的是src目录下的hiberate.xml文件//3.创建session工厂对象SessionFactory factory = config.buildSessionFactory();//4.创建session(代表的是一个对话,与数据库连接的会话)Session session = factory.openSession();//5.开启事务Transaction tx = session.beginTransaction();//6.与数据库的操作session.save(emp);//7.提交事务tx.commit();//8.关闭资源session.close();}}
运行结果可以发现数据库中多了一个employee的表,并有一条记录






1 0
原创粉丝点击