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>

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

  • 相关阅读:
    批处理、WMI、wmic、守护进程
    链接
    给自己一个提醒——读了这篇文章感觉目前就略有体会,但是它又是一个长期的过程。
    如何设置一个日期型的TextView
    广播机制与短信拦截器
    开篇来个记录随笔 ,再感谢一下园子的管理们
    J2EE (四) Servlet 模板方法模式
    J2EE (五) SQL+PageClass实现真分页
    JMeter设置HTML报告中开始以及结束时间精确到秒
    Tomcat部署应用启动报错java.lang.ClassCastException: [XXX].filter.CharacterEncoding cannot be cast to jakarta.servlet.Filter
  • 原文地址:https://www.cnblogs.com/ciscolee/p/10945464.html
Copyright © 2011-2022 走看看