首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Hibernate跟JDBC实现CRUD操作的比较

2012-10-28 
Hibernate和JDBC实现CRUD操作的比较public class UserDAO {public User findUserById(int id){return sess

Hibernate和JDBC实现CRUD操作的比较
public class UserDAO {public User findUserById(int id){return session.get(User.class,id);}public void addUser(User user){session.save(user);}public void updateUser(User user){session.update(user);}public void deleteUser(int id){User user = new User();user.setId(id);session.delete(user);}}

?

类型一:

??????? //得到Configuration
??? ??? Configuration configuration=new Configuration().configure();
??? ??? //得到一个会话工厂
??? ??? SessionFactory sessionFactory=configuration.buildSessionFactory();
??? ??? //得到一个Session对象
??? ??? Session session=sessionFactory.openSession();
??? ??? //开始一个事务
??? ??? Transaction transaction=session.beginTransaction();
??? ??? /*//添加一个book
??? ??? Books book=new Books();
??? ??? book.setAuthor("c");
??? ??? book.setName("wh");
??? ??? session.save(book);*/
??? ??? /*//查询book
??? ??? Books book=(Books) session.load(Books.class, 2);
??? ??? System.out.println(book.getAuthor());*/
??? ??? /*//更新book
??? ??? Books book=(Books) session.load(Books.class, 2);
??? ??? book.setAuthor("chen");
??? ??? book.setName("Spring");*/
??? ??? /*//删除book
??? ??? Books book=(Books) session.load(Books.class, 14);
??? ??? session.delete(book);*/
??? ??? //提交事务
??? ??? transaction.commit();
??? ??? //关闭session
??? ??? session.close();

?

类型二:

??????? Configuration configuration=new Configuration().configure();
??? ??? SessionFactory sessionFactory=configuration.buildSessionFactory();
??? ??? Session session=sessionFactory.openSession();
??? ??? Transaction transaction=session.beginTransaction();
??? ??? /*//更新
??? ??? Query query=session.createQuery("update Books set name='hibernate' where id=:id");
??? ??? query.setInteger("id", 1);
??? ??? query.executeUpdate();*/
??? ??? //查询所有字段
??? ??? /*Query query=session.createQuery("from Books");
??? ??? List<Books> list=query.list();
??? ??? for(Books book:list){
??? ??? ??? System.out.println("作者:"+book.getAuthor());??? ???
??? ??? }*/
??? ??? /*//查询多个字段
??? ??? Query query=session.createQuery("select name,author from Books");
??? ??? List<Object[]> list2=query.list();
??? ??? for(Object[] object:list2){
??? ??? ??? String author=(String) object[1];
??? ??? ??? System.out.println("作者:"+author);??? ???
??? ??? }*/
??? ??? //查询一个字段
??? ??? /*Query query=session.createQuery("select author from Books");
??? ??? List<String> list3=query.list();
??? ??? for(String author:list3){
??? ??? ??? System.out.println("作者:"+author);???
??? ??? }*/
??? ??? transaction.commit();
??? ??? if(session!=null||!"".equals(session)){
??? ??? ??? System.out.println("关闭session。。。。");
??? ??? }

?

//类型三:

????criteria 接口的简单使用

?

???????????????????? ts=session.beginTransaction();?????

???????????????????? Criteriacri=session.createCriteria(Employee.class).

???????????????????? setMaxResults(2).addOrder(Order.desc("id"));

???????????????????? List<Employee>list=cri.list();

???????????????????? for(Employee e: list){

??????????????????????????? System.out.println(e.getAaaid());

???????????????????? }?

???????????????????? ts.commit();

?

热点排行