本文主要是介绍夜光带你走进Hibernate(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
夜光序言:
用力的喜欢想换来的不过是车水马龙中的回眸一瞥。
正文:夜光: Hibernate框架
ORM 规则
ORM, Object Relation Mapping 对象关系映射
目标:
通过orm(对象关系映射), 可以做到:
a. 不写sql,包对象直接保存到数据库中
b. 不写sql, 从数据库中读取,直接获取的是封装好的对象
ORM是一种思想,或者说是一种规则的定义, 基于orm的应用:
1. hibernate 框架
2. mybatis 框架
3. 自定义一套程序
ORM是一种思想,或者说是一种规则的定义, 基于orm的应用:
1. hibernate 框架
2. mybatis 框架
3. 自定义一套程序
Hibernate框架
概念
基于ORM的持久层框架,对jdbc操作进行了封装
Hibernate与具体数据库无关的技术,即可以框数据库平台
Hibernate开发环境搭建
Hibernate版本: 3.6版本
整体步骤:
1. 下载源码,引入jar文件
2. 写配置
* hibernate.cfg.xml 主配置
* Users.hbm.xml 映射配置
3. Api
Configuration
SessionFactory
Transaction
Session
Query
步骤实现:
1. 建库、建表 |
-- 删除数据库 DROP DATABASE hib_demo;
-- 创建数据库 CREATE DATABASE hib_demo DEFAULT CHARACTER SET utf8;
-- 建表 CREATE TABLE users( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT ) |
2. 引入hibernate核心jar文件 |
源码中: hibernate3.jar + required 目录中所有 + jpa + 数据库驱动包
antlr-2.7.6.jar commons-collections-3.1.jar dom4j-1.6.1.jar hibernate-jpa-2.0-api-1.0.0.Final.jar hibernate3.jar javassist-3.12.0.GA.jar jta-1.1.jar mysql-connector-java-5.1.12-bin.jar slf4j-api-1.6.1.jar |
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> <!-- 数据库连接的参数配置 --> <property name="hibernate.connection.url">jdbc:mysql:///hib_demo</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">root</property> <!-- 通过数据库方言,告诉hibernate如何生产sql。 hibernate会根据配置的方言,生产符合当前数据库语言的SQL语句 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> </session-factory> </hibernate-configuration> |
4. javabean/ 映射文件 |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- 通过XML映射,把对象映射到数据库的表中 --> <hibernate-mapping package="cn.Genius.a_config">
<class name="Users" table="users"> <id name="userId" column="id"> <generator class="native"></generator> </id> <property name="userName" column="name"></property> <property name="age" column="age"></property> </class>
</hibernate-mapping> |
5. App |
// 测试类 public class App {
@Test // 保存 public void testSave() throws Exception {
// 对象 Users users = new Users(); users.setUserName("Genius"); users.setAge(100);
// 1. 创建配置管理器对象 Configuration config = new Configuration(); // 2. 加载主配置文件, 默认加载src/hibernate.cfg.xml config.configure(); // 3. 根据加载的主配置文件,创建对象 SessionFactory sf = config.buildSessionFactory(); // 4. 创建Session对象 Session session = sf.openSession(); // 5. 开启事务 Transaction tx = session.beginTransaction();
// --- 保存 session.save(users);
// 6. 提交事务/关闭session tx.commit(); session.close();
}
@Test // 获取对象 public void testGet() throws Exception {
// 1. 创建配置管理器对象 Configuration config = new Configuration(); // 2. 加载主配置文件, 默认加载src/hibernate.cfg.xml config.configure(); // 3. 根据加载的主配置文件,创建对象 SessionFactory sf = config.buildSessionFactory(); // 4. 创建Session对象 Session session = sf.openSession(); // 5. 开启事务 Transaction tx = session.beginTransaction();
// --- 获取 (根据主键查询) Users users = (Users) session.get(Users.class, 1);
System.out.println(users);
// 6. 提交事务/关闭session tx.commit(); session.close();
} } |
本文原地址:https://blog.csdn.net/weixin_41987706/article/details/89235144
这篇关于夜光带你走进Hibernate(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!