1. 程式人生 > >hibernate操作資料庫的增刪改查

hibernate操作資料庫的增刪改查

建立一個實體類

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();

所有的操作都對應著這七步驟