zoukankan      html  css  js  c++  java
  • Hibernate入门---总结:增删改----完整【第一天】

    以下是封装了增删改的类,如下写法,不能同时调用增删、或者增改、删改数据。因为会话共享,并且每个方法内都不能关闭session,否则对后续方法调用会有影响。

    package bean529;
    
    import hibernate.factory.HibernateSessionFactory;
    
    import org.hibernate.Session;
    import org.hibernate.Transaction;
    
    import bean.Customer;
    
    public class CustomerManager {
        Session session = HibernateSessionFactory.getSession();
        Transaction tran = session.beginTransaction();
        //增加记录
        public void addCustomer(String customerID,String name,String phone){
            /**定义事务开始**/
            //注解实体类
            Customer dept = new Customer();
            dept.setCustomerID(customerID);
            dept.setName(name);
            dept.setPhone(phone);
            session.save(dept);
            //提交事务
            tran.commit();
        }
        //删除记录,通过id
        public void delCustomer(String customerID) {
            /**首先查找待删除记录,通过id**/
            Customer dept = (Customer)session.get(Customer.class, "1003");
            session.delete(dept);
            tran.commit();
        }
        //修改记录,通过id先查找,后修改
        public void updateCustomer(String customerID,String name,String phone) {
            //首先查找待修改记录,通过id
            Customer dept = (Customer)session.get(Customer.class, "1003");
            dept.setName(name);
            dept.setPhone(phone);
            session.saveOrUpdate(dept);
            tran.commit();    
        }
        //测试
        public static void main(String[] args) {
            CustomerManager manager = new CustomerManager();
             //manager.addCustomer("1003","we", "31231");
            //manager.delCustomer("1003");
             manager.updateCustomer("1003", "姓名被修改", "号码被修改");
            
        }
    }

    总结:如需要在控制台显示查询,可在配置文件hibernate.cfg.xml中配置属性show_sql,值为true。后续应该考虑批处理查询、同时进行增删改查等问题。那么基本的增删改查就算完美了。在更新方法中有用到查询。可参考。之前就知道纠结于servlet实现各种功能,发现臃肿而且还不好维护,现在才安心研究ssh框架,感觉之前的时间真是浪费了一部分,不过也没什么,至少自己理解现在的框架,更加能够清晰的认识深层次的东西。

           <!-- 配置控制台视图,显示查询内容 -->
           <property name="show_sql">true</property>

    加了这句之后,保存数据时,控制台:

  • 相关阅读:
    Unity Notes调制粒子系统的颗粒的最大数目
    Swift编程语言学习2.1——基础运营商(在)
    JavaScript语言基础知识6
    算法题:合并两个有序列表
    DDFT
    Java For循环效率试验
    Delphi ORD
    Delphi TcxTreeList 节点添加图片
    SQL Server 除法 不起作用的问题
    Delphi 继承基类的窗体,并显示基类的控件操作。
  • 原文地址:https://www.cnblogs.com/ciscolee/p/10945464.html
Copyright © 2011-2022 走看看