hibernate框架简介
它是一个ORM框架/持久层框架,也是jdbc的一个框架,object reference mapping(全称:对象关系映射),什么意思呢,以前我们操作数据库分六部走,加载驱动、执行sql到关闭资源这一过程六个步骤,那么hibernate呢,他就做到一点,只需一步,操作数据库就可以了,不用我们写SQL语句,也不用配置servlet,可以动态调用方法,它简化的是我们数据库的操作这一块简单描述:
ORM框架/持久层框架
全称为object reference mapping
通过管理对象来改变数据库中的数据
通过管理对象来操作数据库
优势:跨数据库的无缝移植
创建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
hmf
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
1.8
UTF-8
1 添加DTD支持
2 添加Hibernate的配置
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
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
1 数据库相关(connection.username|connection.password|connection.url|connection.driver_class|dialect)
2 调试相关(show_sql|format_sql)
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
type="java.sql.Timestamp" column="create_datetime">
查询
package com.hmf.one.test;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;public class QueryDemo {
public static void main(String[] args) {
Configuration configure=new Configuration().configure("/hibernate.cfg.xml");
SessionFactory sessionFactory = configure.buildSessionFactory();
Session session=sessionFactory.openSession();
List list = session.createQuery("from User").list();
for(Object object:list) {
System.out.println(object);
}
session.close();
}}
新增
package com.hmf.one.test;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.List;import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;import com.hmf.one.entity.User;
public class AddDemo {
public static void main(String[] args) {
Configuration configure=new Configuration().configure("/hibernate.cfg.xml");
SessionFactory sessionFactory = configure.buildSessionFactory();
Session session=sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
User user=new User();
user.setBirthday(new Date(System.currentTimeMillis()));
user.setCreateDatetime(new Timestamp(System.currentTimeMillis()));
user.setId(18);
user.setRealName("hmf");
user.setRemark("yyy");
user.setSex("6");
user.setUserName("哈哈哈哈哈哈哈");
user.setUserPwd("123");
session.save(user);
transaction.commit();
session.close();
}
}
结果
修改
package com.hmf.one.test;
import java.sql.Date;
import java.sql.Timestamp;import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;import com.hmf.one.entity.User;
public class EditDemo {
public static void main(String[] args) {
Configuration configure=new Configuration().configure("/hibernate.cfg.xml");
SessionFactory sessionFactory = configure.buildSessionFactory();
Session session=sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
User user = session.get(User.class, 18);
user.setRealName("晓哥");
System.out.println(user);
transaction.commit();
session.close();
}
}
删除
package com.hmf.one.test;
import java.sql.Date;
import java.sql.Timestamp;import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;import com.hmf.one.entity.User;
public class DelDemo {
public static void main(String[] args) {
Configuration configure=new Configuration().configure("/hibernate.cfg.xml");
SessionFactory sessionFactory = configure.buildSessionFactory();
Session session=sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
User user = session.get(User.class, 18);
session.delete(user);
System.out.println(user);
transaction.commit();
session.close();
}
}
方法一:
User user = session.get(User.class, 18);
session.delete(user);方法二:
User user=new User();
user.setId(6);
session.delete(user);



