定义:是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装。可以通 过 *** 作实体类对象来进行 *** 作数据库。
理解:是一个ORM框架/持久层框架 jdbc的一个框架
object reference mapping 对象关系映射
特点:通过管理对象来改变数据库中的数据
通过管理对象来 *** 作数据库
优势:跨数据库的无缝移植
二、Hibernate框架(框架都有配置文件)的使用(在maven项目中) 1. 添加hibernate相关依赖2. 在resource目录下添加hibernate.cfg.xml(核心配置文件)
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
com.xhy
hibernate
war
0.0.1-SNAPSHOT
hibernate Maven Webapp
http://maven.apache.org
UTF-8
1.8
1.8
4.12
4.0.0
5.3.0.Final
8.0.19
junit
junit
${junit.version}
test
javax.servlet
javax.servlet-api
${servlet.version}
provided
org.hibernate
hibernate-core
${hibernate.version}
mysql
mysql-connector-java
${mysql.driver.version}
hibernate
org.apache.maven.plugins
maven-compiler-plugin
3.7.0
1.8
UTF-8
注意:mysql的版本要和你自己用的版本相匹配
之前的都是要经过浏览器请求所以在web.xml中做配置,而hibernate不处理浏览器请求,是和数据库打交道的
hibernate的内置文件配置文件俩种
2.1 添加DTD支持(仿照内置文件中dtd文件)hibernate.cfg.xml
2.2 添加Hibernate的配置
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
①数据库相关(connection.username|connection.password|connection.url|connection.driver_class|dialect)
②调试相关(show_sql|format_sql)
hibernate.cfg.xml
3. 在开发阶段再创建实体类和实体映射文件(*.hbm.xml)
root
123456
jdbc:mysql://127.0.0.1:3306/mybatis_ssm?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT&useSSL=true
com.mysql.cj.jdbc.Driver
org.hibernate.dialect.MySQLDialect
thread
true
true
实体必须实现Serializable接口
去仿照以上的内置文件写实体类映射文件 (*.hbm.xml)
在实体类建立一个xml文件绑定实体类(.hbm.xml)
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">//在内置文件中复制的格式:
//程序员自己控制
//特殊的property标签
和id标签的一样
。。。。
小结:hibernate.cfg.xml(1)
//第二种:new一个对象,删掉
User user=new User();
user.setId(11);
session.delete(user);
// 6.提交事务(查询不用)
transaction.commit();
// 7.关闭session
session.close();
}
}
④修改
package com.xhy.one.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;import com.xhy.one.entity.User;
public class UpdDemo {
public static void main(String[] args) {
// 1.对框架核心配置文件进行建模(框架自带)拿到configure对象
Configuration configure = new Configuration().configure("/hibernate.cfg.xml");
// 2.获取sessionFactory工厂
SessionFactory sessionFactory = configure.buildSessionFactory();
// 3.获取session会话
Session session = sessionFactory.openSession();
// 4.开启事务(查询不用)
Transaction transaction = session.beginTransaction();
// 5.session *** 作对象User user = session.get(User.class,14);
user.setRealName("hhhh");
// 6.提交事务(查询不用)
transaction.commit();
// 7.关闭session
session.close();
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)