目錄
- 一:使用Hibernate對資料庫進行增刪改查操作
- 1.Hibernate增加操作
- 2.Hibernate查詢操作
- 3.Hibernate修改操作
- 4.Hibernate洗掉操作
一:使用Hibernate對資料庫進行增刪改查操作
準備環境 eclipse+mysql5.3+hibernate5.3
Hibernate組態檔
<?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-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=UTF-8</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<mapping resource="com/hibernate/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Hibernate工具類
public class HibernateUtil {
private static SessionFactory factory;
private static StandardServiceRegistry registry;
//得到sessionFactory
static {
try {
//1.獲取注冊的register
registry=new StandardServiceRegistryBuilder().configure().build();
//2.得到factory
factory =new MetadataSources(registry).buildMetadata().buildSessionFactory();
}catch(Exception e) {
e.printStackTrace();
StandardServiceRegistryBuilder.destroy(registry);
}
}
//獲得session物件
public static Session openSession() {
return factory.openSession();
}
//關閉sessionFactory
public static void closeFactory() {
factory.close();
}
}
用戶物體類:
package com.hibernate.entity;
public class User {
private Integer id;
private String userName;
private String passWord;
public Integer getId() {
return id;
}
public void setId(Integer 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;
}
@Override
public String toString() {
return "User [id=" + id + ", userName=" + userName + ", passWord=" + passWord + "]";
}
}
用戶組態檔:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.hibernate.entity">
<class name="User" table="t_user">
<id name="id" type="int" >
<column name="id"></column>
<generator class="native"></generator>
</id>
<property name="userName" column="user_name" type="java.lang.String">
</property>
<property name="passWord" type="java.lang.String"></property>
</class>
</hibernate-mapping>
1.Hibernate增加操作
//持久化操作
public static void saveUser(User user) {
Transaction tx = null;
Session session = null;
try {
//1.獲得session物件
session=HibernateUtil.openSession();
//2.獲得要保存的物體物件
//3.保存物體
tx=session.beginTransaction();
session.save(user);
tx.commit();
//4.關閉session
}catch(Exception e) {
tx.rollback();
}finally {
session.close();
}
}
2.Hibernate查詢操作
public static User getUserById(int id) {
Session session = null;
User user = null;
try {
//1.獲取session
session=HibernateUtil.openSession();
//2.去查詢
user=session.get(User.class, id);//Hibernate會包裝成資料型別
//3.關閉session
session.close();
}catch(Exception e) {
e.printStackTrace();
}finally {
session.close();
}
return user;
}
3.Hibernate修改操作
public static void updateUser(User user) {
//先查詢出用戶然后再更新
Session session = null;
Transaction tx=null;
try {
//1.先獲取session物件
session=HibernateUtil.openSession();
//2.對資料進行更改
tx=session.beginTransaction();
user.setPassWord("456");
//3.進行保存更新操作
session.update(user);
tx.commit();
}catch(Exception e){
e.printStackTrace();
tx.rollback();
}finally {
//4.session關閉
session.close();
}
}
4.Hibernate洗掉操作
public static void deleteUser(User user) {
//先查詢到物件后再洗掉
//1.打開session
//2.洗掉用戶
//3.關閉session
Session session = null;
Transaction tx=null;
try {
//1.先獲取session物件
session=HibernateUtil.openSession();
//2.對資料進行更改
tx=session.beginTransaction();
session.delete(user);
tx.commit();
}catch(Exception e){
e.printStackTrace();
tx.rollback();
}finally {
//4.session關閉
session.close();
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/266431.html
標籤:其他
