zoukankan      html  css  js  c++  java
  • hibernate Session的CRUD操作

    使用Session里面的方法进行CRUD操作

     (1) 增加 save 方法

     (2) 查找 get 方法(根据id查)

     (3) 修改 update 方法

     (4) 删除 delete 方法


    1、增加

        /**
         * 增加操作
         */
        public void testCreate(){
            //找到src下名为hibernate.cfg.xml的配置文件,加载核心配置文件。
            Configuration cfg = new Configuration();
            cfg.configure();
            //创建SessionFactory对象,在核心配置文件中找到各个映射文件如User.hbm.xml。
            //一般一个项目只创建一个SessionFactory因为SessionFactory创建极为耗费资源。
            //这里为了方便每个测试创建了一个
            SessionFactory sessionFactory = cfg.buildSessionFactory();
            //创建session对象,里面封装了很多对数据库的操作。
            //sesssion是单线程对象,不能共用
            Session session = sessionFactory.openSession();
            //开启事物
            Transaction tx = session.beginTransaction();
            
            User user = new User();
            user.setuName("你好");
            user.setuPwd("世界");
            session.save(user);
            
            //提交事物
            tx.commit();
            //关闭资源
            session.close();
            sessionFactory.close();
            
        }

    2、查找

    /**
         * 查询操作
         */
        public void testRetrieve(){
            Configuration cfg = new Configuration();
            cfg.configure();
            SessionFactory sessionFactory = cfg.buildSessionFactory();
            Session session = sessionFactory.openSession();
            Transaction tx = session.beginTransaction();
            
            User user = new User();
            user = session.get(User.class, 1);
            System.out.println(user.toString());
            
            tx.commit();
            session.close();
            sessionFactory.close();
            
        }

    3、修改

    /**
         * 修改操作
         */
        public void testUpdate(){
            Configuration cfg = new Configuration();
            cfg.configure();
            SessionFactory sessionFactory = cfg.buildSessionFactory();
            Session session = sessionFactory.openSession();
            Transaction tx = session.beginTransaction();
            
            User user = new User();
            user = session.get(User.class, 1);
            user.setuName("Hello");
            session.update(user);
            
            tx.commit();
            session.close();
            sessionFactory.close();
        }

    4、删除

    /**
         * 删除操作
         */
        public void testDelet(){
            Configuration cfg = new Configuration();
            cfg.configure();
            SessionFactory sessionFactory = cfg.buildSessionFactory();
            Session session = sessionFactory.openSession();
            Transaction tx = session.beginTransaction();
            
            User user = new User();
            user = session.get(User.class, 1);
            session.delete(user);
            
            tx.commit();
            session.close();
            sessionFactory.close();
        }

    实体类

    package dao;
    
    public class User {
        private int uId;
        private String uName;
        private String uPwd;
        public int getuId() {
            return uId;
        }
        public void setuId(int uId) {
            this.uId = uId;
        }
        public String getuName() {
            return uName;
        }
        public void setuName(String uName) {
            this.uName = uName;
        }
    
        public String getuPwd() {
            return uPwd;
        }
        public void setuPwd(String uPwd) {
            this.uPwd = uPwd;
        }
        @Override
        public String toString() {
            return "User [uId=" + uId + ", uName=" + uName + ", uPwd=" + uPwd + "]";
        }
    }
  • 相关阅读:
    2014编程之美资格赛 第二题 大神和三个小伙伴
    操作系统PV操作——进程同步问题(C#实现)
    [转_管理]成功者必备的15种能力
    [技术相关]List、Dictionary转Dictionary的性能分析
    [项目管理]怎样评定软件开发成果的质量
    Visual Studio 2013 RTM 中文语言包官方下载地址发布
    IIS7报错:如果要使用托管的处理程序,请安装 ASP.NET
    HTTP请求方式中get和post的区别
    asp.net之动态页面和静态页面的区别
    HTML语言语法大全
  • 原文地址:https://www.cnblogs.com/lolybj/p/6261723.html
Copyright © 2011-2022 走看看