Hibernate框架入门
2017-03-09 16:56
316 查看
Hibernate框架:使DAO层的框架,用于简化开发DAO(Data Access Object)数据访问对象
Hibernate :是一个开源的ORM(ObjectRelation Mapping,对象关系映射) 持久层框架,可以逆向开发(亮点),同时支持正向生成数据实体类。
面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。
开发hibernate的三种方式:
1. 先编写实体类(持久化类),再编写隐射文件,然后生成数据库表结构
2. 先创建数据表,再根据数据表生成对应的隐射文件和持久化类
3. 先编写隐射文件,然后根据文件生成持久化类和数据库表的结构
Hibernate配置步骤实现逆向创建数据库表:
1.首先需要去官网下载 一般现在用4点几的版本,比较稳定 官网下载地址: http://hibernate.org/orm/downloads/
2.找Hibernate所需要的架包
![](https://img-blog.csdn.net/20170309170955185?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmFpZHVfMzY2OTczNTM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170309171002153?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmFpZHVfMzY2OTczNTM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170309171006341?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmFpZHVfMzY2OTczNTM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这就是我们一般web 程序所需要的Hibernate架包, 复制到 WebContent 下的WEB-INF 下的 lib文件夹就可以了
3.配置文件 Hibernate.cfg.xml 文件 (默认文件头如下)
然后编写 注册映射文件 Users.hbm.xml 默认的头文件如下
编写Users.hbm.xml
这里用到的 Users 代码如下:
编写测试类:
这样就实现了Hibernate的入门开发, 逆向开发
Hibernate :是一个开源的ORM(ObjectRelation Mapping,对象关系映射) 持久层框架,可以逆向开发(亮点),同时支持正向生成数据实体类。
面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。
开发hibernate的三种方式:
1. 先编写实体类(持久化类),再编写隐射文件,然后生成数据库表结构
2. 先创建数据表,再根据数据表生成对应的隐射文件和持久化类
3. 先编写隐射文件,然后根据文件生成持久化类和数据库表的结构
Hibernate配置步骤实现逆向创建数据库表:
1.首先需要去官网下载 一般现在用4点几的版本,比较稳定 官网下载地址: http://hibernate.org/orm/downloads/
2.找Hibernate所需要的架包
这就是我们一般web 程序所需要的Hibernate架包, 复制到 WebContent 下的WEB-INF 下的 lib文件夹就可以了
3.配置文件 Hibernate.cfg.xml 文件 (默认文件头如下)
<!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> </session-factory> </hibernate-configuration>下面只需要在<session-factory></session-factory>里面编写配置文件即可
<!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> <!-- 配置数据库访问信息 --> <property name="dialect">//定义方言(定义优化的sql语句) org.hibernate.dialect.MySQLDialect </property> <property name="connection.driver_class"> //加载驱动 com.mysql.jdbc.Driver </property> <property name="connection.url"> //映射地址 jdbc:mysql://127.0.0.1:3306/mydb </property> <property name="connection.username">//连接数据库的用户名 root </property> <property name="connection.password">//连接数据库的密码 root </property> <!-- 在控制台显示sql语句 --> <property name="show_sql">true</property>//表示是否输出操作数据库的语句 <!-- 自动生成或更新数据库表 --> <property name="hbm2ddl.auto">update</property>//是否根据映射文件自动创建数据库表 <!-- 注册映射文件 --> <mapping resource="com/pojos/Users.hbm.xml"/> </session-factory> </hibernate-configuration>
然后编写 注册映射文件 Users.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="com.pojos"> <class name="com.pojos.Users" table="users"> // name="com.pojos.Users" 表示 类的全名 <!-- 主键 --> <id name="id" column="id"> </id> </class> </hibernate-mapping>
编写Users.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="com.pojos"> <class name="com.pojos.Users" table="users"> <!-- 主键 --> <id name="id" column="id"> <!-- 主键生成方式:自动生成 --> <generator class="native"/> </id> <property name="username" column="username" type="string" not-null="true"/>
// name 表示类的属性名 column 表示 数据库对应的字段 type是指数据类型 not-null 是否默认为空
<property name="password" column="password" type="string" not-null="true"/> </class></hibernate-mapping>
这里用到的 Users 代码如下:
public class Users implements Serializable{ //一般需要实现序列化 为了解决数据存储和数据传输问题 /** * */ private static final long serialVersionUID = 6878527604797548849L; private int id; private String username; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
编写测试类:
public static void main(String[] args) { Users user = new Users("zhangsan", "zs123"); //创建Configuration对象 Configuration cfg = new Configuration(); //加载注册文件 cfg.configure("/hibernate.cfg.xml"); //创建SessionFactory StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder(); builder.applySettings(cfg.getProperties()); SessionFactory factory = cfg.buildSessionFactory(builder.build()); //打开session Session session = factory.openSession(); //开始事务 Transaction trans = session.beginTransaction(); //操作 session.save(user); trans.commit(); session.close(); 4000 }
这样就实现了Hibernate的入门开发, 逆向开发
相关文章推荐
- 框架学习之Hibernate 第二节 入门案例分析
- struct hibernate spring 经典框架 搭建 入门实例
- Hibernate框架入门案例
- Java的Hibernate框架结合MySQL的入门学习教程
- Hibernate框架入门(一)
- JAVA框架三剑客 - Struts+Spring+Hibernate快速入门
- 【框架】[Hibernate]构架知识点详解入门与测试实例
- Java_Web三大框架之Hibernate 入门(一)
- Java_Web三大框架之Hibernate 入门(一)
- Hibernate框架之关联映射入门
- struct hibernate spring 经典框架 搭建 入门实例
- Hibernate框架入门一
- struct hibernate spring 经典框架 搭建 入门实例
- 三大框架之hibernate教程入门1
- 数据持久层框架Hibernate入门学习
- 框架学习之Hibernate 第五节 HQL和Criteria查询入门
- Hibernate框架入门
- hibernate框架的入门
- 在myeclipse中基于Hibernate框架开发的入门小程序
- JavaEE框架——hibernate入门