学hibernate的时候落下了,邱在宿舍里整理笔记,整理到了某段代码,瞬间感慨:程序猿的世界俺不懂。。。

来源:互联网 发布:神经网络蜂群算法代码 编辑:程序博客网 时间:2024/05/16 06:51

纯代码,注释亮了

package com.itheima.jUnit;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.junit.Test;import com.itheima.domain.User;public class CRUDTest {@Testpublic void saveTest1(){//添加//==============初始化操作=================//获取配置信息Configuration config = new Configuration().configure();//从配置信息中生成Session工厂SessionFactory factory = config.buildSessionFactory();//从sessionFactory中获取数据库的连接(Session)Session session = factory.openSession();//开启事务Transaction transaction = session.beginTransaction();//=================增加操作================User user = new User();user.setUsername("张三");user.setPassword("123456");session.save(user);//将user保存进数据库中//================结束操作=================transaction.commit(); //提交事务session.close();//释放连接}@Testpublic void updateTest1(){//修改Configuration configuration = new Configuration().configure();//获取配置信息SessionFactory factory = configuration.buildSessionFactory();//获取session工厂Session session = factory.openSession();//从工厂中获取sessionTransaction transaction =  session.beginTransaction();//开启事务User user = new User();user.setUid(1);//set要更新user的ID,这里必须写user.setUsername("李四");//比如说将姓名改成李四user.setPassword( "abcd");//将密码改成abcdsession.update(user); //将修改的字段入库transaction.commit(); //提交事务session.close();//释放连接}/** * 看到修改操作,让我想起来了一个自以为自己很牛逼的女的问的一个自以为自己很高深的问题: * 问: * 假如开启事务后,将修改的事物进行到一半,然后事务就关闭了的话,下一半会执行码? * 我的回答是,我真的想回她一句,但是考虑到可能面临的严重后果,就忍住了: * 假如开启车门后,你的头刚伸进车门,然后车门就关了,那么你的身子会搜的一下飞进车里马? */@Testpublic void selectTest1(){//查询不需要开启事务了//获取配置信息Configuration configuration = new Configuration().configure();//从配置信息中获取session工厂SessionFactory factory = configuration.buildSessionFactory();//生产session对象(获取连接)Session session = factory.openSession();//=================查询操作==================User user = (User) session.get(User.class, 1);//通过UID查询,查询UID=1的用户System.out.println(user);//=================关闭操作==================session.close();//释放连接}@Testpublic void deleteTest1(){//获取配置信息Configuration configuration = new Configuration().configure();//获取session工厂SessionFactory factory = configuration.buildSessionFactory();//获取数据库的session连接Session session = factory.openSession();//开启事务Transaction transaction = session.beginTransaction();//================删除操作==================User user = new User();user.setUid(1);session.delete(user);//删除UID=1的user//================结束操作==================//提交事务transaction.commit();//释放连接session.close();}}


0 0
原创粉丝点击