学习hibernate可以少写很多代码,正如上课的某老师说的,只有操做对象,没有表的概念。在此记录一下自己的实践过程。
demo如下:
import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.Test; import com.beans.StudentInfo; public class myTest { //@Test //增加一条记录 public void fun(){ //配置加载类 Configuration conf=new Configuration(); //默认读取src下的hiber.cfg.xml conf.configure(); //创建sessionFactory SessionFactory sf=conf.buildSessionFactory(); //获得session 表示hibernate和数据库之间连接会话 Session session=sf.openSession(); //获得事务的操作对象 Transaction tx2=session.beginTransaction(); //-------------------------------- //增加记录 StudentInfo sInfo=new StudentInfo(); sInfo.setStuId(1); sInfo.setClassId(2); sInfo.setStuName("kang"); sInfo.setStuNo("1507052221"); session.save(sInfo); //-------------------------------- //事务提交 tx2.commit(); //释放资源 session.close(); sf.close(); } @Test //查找记录 public void fun2() { //配置加载类 Configuration conf=new Configuration(); //默认读取src下的hiber.cfg.xml conf.configure(); //创建sessionFactory SessionFactory sf=conf.buildSessionFactory(); //获得session 表示hibernate和数据库之间连接会话 Session session=sf.openSession(); //获得事务的操作对象 Transaction tx2=session.beginTransaction(); //-------------------------------- //查找记录 StudentInfo studentInfo=(StudentInfo) session.get(StudentInfo.class, 12); System.out.println(studentInfo); //-------------------------------- //事务提交 tx2.commit(); //释放资源 session.close(); sf.close(); } @Test //更改记录 public void fun3(){ //配置加载类 Configuration conf=new Configuration(); //默认读取src下的hiber.cfg.xml conf.configure(); //创建sessionFactory SessionFactory sf=conf.buildSessionFactory(); //获得session 表示hibernate和数据库之间连接会话 Session session=sf.openSession(); //获得事务的操作对象 Transaction tx2=session.beginTransaction(); //-------------------------------- //更改记录 //找到这个对象 StudentInfo studentInfo=(StudentInfo) session.get(StudentInfo.class, 12); //修改这个对象的属性 studentInfo.setStuName("Obma"); //更新修改好的对象 session.update(studentInfo); //-------------------------------- //事务提交 tx2.commit(); //释放资源 session.close(); sf.close(); } //@Test //删除这条记录 public void fun4(){ //配置加载类 Configuration conf=new Configuration(); //默认读取src下的hiber.cfg.xml conf.configure(); //创建sessionFactory SessionFactory sf=conf.buildSessionFactory(); //获得session 表示hibernate和数据库之间连接会话 Session session=sf.openSession(); //获得事务的操作对象 Transaction tx2=session.beginTransaction(); //-------------------------------- //更改记录 //找到这个对象 StudentInfo studentInfo=(StudentInfo) session.get(StudentInfo.class, 1); //删除对象 session.delete(studentInfo); //-------------------------------- //事务提交 tx2.commit(); //释放资源 session.close(); sf.close(); } } |
结果如下: