Hibernate5教程之一基本使用详解
来源:互联网 发布:刷推广注册软件 编辑:程序博客网 时间:2024/05/21 10:19
Hello,大家好,本篇文章描述Hibernate5的基本使用。
使用环境:
1、Hibernate5.2.10
2、Eclipse neon3
3、jdk1.8
4、MySQL5.7
总所周知,在开发中我们会使用一些持久层框架,而Hibernate则是相当不错一个。在使用Hibernate之前,我们应该知道ORM框架,那么什么是ORM呢?
ORM:对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping)是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。其实就是将关系和对象通过映射文件进行联系。我们在程序中只需要操作对象即可操作对应的数据库表的数据。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。是ORM的一种实现。
注意:POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans
我们在使用之前应该先去下载Hibernate的jar包
官方下载地址
CSDN下载地址
首先我们来介绍下基本的使用步骤:
1、导入jar包
将XXX\Hibernate\hibernate-release-5.2.10.Final\hibernate-release-5.2.10.Final\lib\required中的jar包和对应数据库的驱动jar包加载导向项目中
2、写全局配置
创建hibernate.cfg.xml,写出全局配置
<?xml version="1.0" encoding="UTF-8"?><!--文档说明:标记约束文档 --><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><!--Hibernate的配置信息 --><hibernate-configuration> <!--配置工厂信息,全局信息 --> <session-factory> <!--1、设置四本一言 --> <!--四本一言 四大基本项: 1、驱动类名 2、指明需要连接的url 3、用户名 4、密码 Hibernate支持不同的数据库,但是每种数据库语法可能有区别,可以使用方言,注意版本 --> <!--数据库驱动类全称 --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <!--数据库url地址 --> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_db?characterEncoding=UTF-8</property> <!--用户名 --> <property name="hibernate.connection.username">lx</property> <!--密码 --> <property name="hibernate.connection.password">lx</property> <!--方言 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property> <!--2、全局配置信息 --> <!--执行DDL的类别: create:每次都删除新建 update:存在就修改,不存在就新建 --> <property name="hibernate.hbm2ddl.auto">update</property> <!--是否显示SQL语句 --> <property name="hibernate.show_sql">true</property> <!--是否格式化SQL语句 --> <property name="hibernate.format_sql">true</property> <!-- 启用getCurrentSession,默认未启用 --> <property name="hibernate.current_session_context_class">thread</property> <!--3、加载配置文件 --> <!--基于xml映射文件: 映射文件加载。路径 --> <mapping resource="cn/code404/domain/User.hbm.xml"></mapping> </session-factory></hibernate-configuration>
3、创建类–也就是表
public class User { private int id; private String name; private String pass; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } public User(String name, String pass) { super(); this.name = name; this.pass = pass; } public User() { super(); } }
4、类-表的映射文件
<?xml version="1.0" encoding="UTF-8"?><!--文档说明,设置映射文件 --><!DOCTYPE hibernate-mapping SYSTEM "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" ><!--映射标签 package:内部类的所在的包名 --><hibernate-mapping package="cn.code404.domain"> <!--需要设置的映射类:设置该类对应的表 --> <!--属性: name:类名 table:表名 --> <class name="User" table="tb_user"> <!--id:主键,name:属性名称,column:字段名称 --> <id name="id" column="id"> <!--generator:主键生成策略 class:标记主键如何生成 取值: 1、native:自动增长,会根据当前的数据库自动切换 2、identity:mySQL的自增策略 3、sequence:Oracle的自增标记 4、uuid:32位字符串 5、assigned:自定义字符串 6、foreign:外键 7、increment:自己维护自增关系 --> <generator class="native"/> </id> <!--配置属性对应的字段 --> <property name="name" length="16" column="username"/> <property name="pass" length="32"/> </class></hibernate-mapping>
5、将映射文件配置到全局配置中
<mapping resource="cn/code404/domain/User.hbm.xml"></mapping>
6、使用Hibernate
1.加载配置文件
Configuration configuration = new Configuration().configure();
2.创建Session工厂
SessionFactory factory = configuration.buildSessionFactory();
3.创建Session对象
Session session = factory.openSession();
4.操作数据
System.out.println(session.save(new User("测试", "666666")));
5.关闭,释放资源
session.close();
以下是完整的单元测试代码:
// 基本使用 @Test public void test1() { // 1、加载配置文件 Configuration configuration = new Configuration().configure(); // 2、创建Session工厂 SessionFactory factory = configuration.buildSessionFactory(); // 3、创建Session对象 Session session = factory.openSession(); // 4、操作数据 System.out.println(session.save(new User("测试", "666666"))); // 5、关闭 session.close(); }
好了,以上就是我们使用Hibernate5.2.10完成的基本用法。
有什么问题,欢迎评论留言!
- Hibernate5教程之一基本使用详解
- SpringMVC4.3x教程之一基本使用详解
- Struts2教程之一基本使用
- Hibernate5配置与使用详解
- MyBatis教程之一基本使用入门
- Git使用教程详解之一 Git起步
- 界面原型创建工具Axure使用教程之一:基本操作
- Git----基本使用详解及进阶教程
- Hibernate5.x 基本开发
- Hibernate5最新教程
- FloatActionButton之一----------------基本使用
- 夯实JAVA基本之一 —— 泛型详解(1):基本使用
- 夯实JAVA基本之一 —— 泛型详解(1):基本使用
- 夯实JAVA基本之一 —— 泛型详解(1):基本使用
- 使用Maven配置Hibernate5
- hibernate5.2.1版本使用
- Shell脚本基本教程笔记之一
- redis学习教程之一基本命令
- VS2015驱动调试步骤
- Java循环内不断生成对象内存变化情况
- TypeScript环境搭建
- ubuntu安装matlab
- 哈夫曼树
- Hibernate5教程之一基本使用详解
- If the server requires more time, try increasing the timeout in the server editor
- 寻找平面内共线点数最多的直线和点数
- spring.xml遇到的一些问题1
- Swift 如何嵌入OC文件以及Cocoapods管理的swift项目导入OC第三方库
- 更改Hbase的rootdir报错
- 安卓、Java 获取当天星期几
- 寒江独钓键盘过滤卸载蓝屏
- linux中压缩及解压tar,bz2,gz,tar.bz2,tar.gz