Hibernate 事务
环境
java 12.0.1
Apache Maven 3.6.3
MySQL Server version: 5.7.18-20170830-log 20170531
hibernate-core-5.4.27.Final.jar
mysql-connector-java-8.0.21.jar
IntelliJ IDEA 2020.2.3 (Ultimate Edition)
Hibernate映射文件
src/main/java/com/demo/hibernate/User.hbm.xml
<?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">
<hibernate-mapping package="com.demo.hibernate">
<class name="com.demo.hibernate.User" table="user" catalog="web">
<id name="id" column="id">
<generator class="native" />
</id>
<property name="user" column="user" length="128"></property>
<property name="password" column="password" length="128"></property>
</class>
</hibernate-mapping>
Java代码
src/main/java/com/demo/hibernate/User.java
User类
package com.demo.hibernate;
public class User {
private int id;
private String user;
private String password;
public User(String user, String password) {
this.user = user;
this.password = password;
}
public User() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", user='" + user + '\'' +
", password='" + password + '\'' +
'}';
}
};
TransactionTest类
src/main/java/com/demo/hibernate/TransactionTest.java
package com.demo.hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
public class TransactionTest {
public static void main(String[] args) {
Configuration configuration = null;
StandardServiceRegistry standardServiceRegistry = null;
SessionFactory sessionFactory = null;
Session session = null;
Transaction transaction = null;
try {
configuration = new Configuration();
configuration.configure("hibernate.cfg.xml");
standardServiceRegistry = new StandardServiceRegistryBuilder().configure().build();
sessionFactory = configuration.buildSessionFactory(standardServiceRegistry);
session = sessionFactory.openSession();
transaction = session.beginTransaction();
User user = new User("Tina", "123456");
session.save(user);
transaction.commit();
} catch (Exception e) {
transaction.rollback();
e.printStackTrace();
} finally {
standardServiceRegistry.close();
sessionFactory.close();
session.close();
}
}
}
最后
- 由于博主水平有限,不免有疏漏之处,欢迎读者随时批评指正,以免造成不必要的误解!