我用的數據庫是MySQL,實體類叫User
public class User { private Integer uid; private String username; private String password; private Integer age; private String gender; private String phoneNumber; }
1.Hibernate添加數據操作
// 操作流程: // 1.通過session啟動事務 Transaction transaction = session.beginTransaction(); // 2.執行添加操作 User user = new User("艾格尼絲","女","18977783654"); Serializable save = session.save(user); System.out.println("save: " + save); // 3.提交或回滾事務 transaction.commit();
2.Hibernate刪除數據操作
Transaction transaction = session.beginTransaction(); // 1.先從數據庫查出來需要刪除的對象 User user = session.get(User.class,3); // 2.再進行刪除 session.delete(user); transaction.commit();
3.Hibernate修改數據操作
Transaction transaction = session.beginTransaction(); // 1.從數據庫中獲取需要修改的對象 User user =session.get(User.class, 3); // 2.對該對象中的數據進行修改 user.setUsername("李小龍"); // 3.將修改后的對象更新到數據庫中 session.update(user); transaction.commit();
4.Hibernate查詢數據操作
Transaction transaction = session.beginTransaction(); //根據用戶編號進行查詢 User user = session.get(User.class, 3); System.out.println(user.getUsername()); transaction.commit();
5.Hibernate增刪改查全部的代碼文件
package com.bj186.test; import com.bj186.entity.User; import com.bj186.util.HibernateUtil; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.Before; import org.junit.Test; import java.io.Serializable; public class TestUser { private Session session = null; @Before public void init() { //1. 聲明配置對象,加載配置文件 Configuration configuration = new Configuration(); configuration.configure("hibernate.cfg.xml"); //2. 將配置文件告訴session工廠 SessionFactory sessionFactory = configuration.buildSessionFactory(); //3. 通過session Factory來獲取session session = sessionFactory.openSession(); } /** * 向數據庫中添加一條記錄 */ @Test public void testAdd() { // 操作流程: // 1.通過session啟動事務 Transaction transaction = session.beginTransaction(); // 2.執行持久化操作 User user = new User("艾格尼絲","女","18977783654"); Serializable save = session.save(user); System.out.println("save: " + save); // 3.提交或回滾事務 transaction.commit(); } /** * 從數據庫中刪除一條記錄 */ @Test public void testDelete() { Transaction transaction = session.beginTransaction(); // String sql = "delete from User where uid = :uid"; //第二種刪除方式 // Query query = session.createQuery(sql); // query.setParameter("uid",1); // query.executeUpdate(); //先從數據庫查出來對象 User user = session.get(User.class,3); //再進行刪除 session.delete(user); transaction.commit(); } /** * 測試修改數據 */ @Test public void testUpdate() { Transaction transaction = session.beginTransaction(); // 1.從數據庫中獲取需要修改的對象 User user =session.get(User.class, 3); // 2.對該對象中的數據進行修改 user.setUsername("李小龍"); // 3.將修改后的對象更新到數據庫中 session.update(user); transaction.commit(); } /** * 測試查詢數據 */ @Test public void testQuery() { Transaction transaction = session.beginTransaction(); //根據用戶編號進行查詢 User user = session.get(User.class, 3); System.out.println(user.getUsername()); transaction.commit(); } }