hibernate操作資料庫的增刪改查
阿新 • • 發佈:2018-12-22
建立一個實體類
public class User {
private Integer id;
private String user_name;
private String real_name;
private String user_pwd;
private String sex;
private Date birthday;
private Date create_datetime;
private String remark;
}
所有的增刪改差 都有7步驟
* 1.對hibernate.cfg.xml建模
* 2.通過建模所的到的config檔案類,獲取所配置的sessionfactory
* 3.獲取session會話
* 4.開啟事務
* 5.操作資料庫
* 6.提交事務
* 7.關閉session會話
增加:(hibernate.cfg.xml,檔案配置在上一章)
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()); user.setUser_name("hhh"); user.setUser_pwd("123456"); user.setReal_name("hhh"); user.setRemark("不知道"); user.setSex("男"); session.save(user); transaction.commit(); session.close();
刪除:
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.setId(1); session.delete(user); transaction.commit(); session.close();
查詢:
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, 3);
// System.out.println(user.getUser_name());
//查詢多個
List<User> from_user = session.createQuery("from User").list();
for (User obj:from_user){
System.out.println(obj.getUser_name());
}
transaction.commit();
session.close();
修改:
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, 3);
// user.setReal_name("xxx");
// System.out.println(user.getReal_name());
// 修改整張表可以試用這個 但是相對而言來說 上一個修改方式比較簡單
User user=new User();
user.setId(3);
user.setReal_name("hhh1");
user.setUser_name("hhh1");
user.setSex("男");
user.setUser_pwd("654321");
user.setRemark("123123");
session.update(user);
transaction.commit();
session.close();
所有的操作都對應著這七步驟