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>

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

 

posted @ 2019-05-29 18:23  CiscoLee  阅读(154)  评论(0编辑  收藏  举报