快速业务通道

hibernate3学习笔记(四) 增删改查 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
ARN EhCacheProvider:93 - Could not find configuration [org.hibernate.cache.StandardQueryCache]; using defaults. Hibernate: insert into user (name) values (?) null Hibernate: update user set age=? where id=? 24 Hibernate: delete from user where id=?

可见:

dynamic-insert和dynamic-update设成true后,分别表示生成的SQL中只插入非空字段以及只修改改变过的字段。

另外,hibernate还提供了saveOrUpdate()方法,因为这个方法很容易出错,故在后续章节着重讲述。

关于查询:

1.package com.hb3.pack_01;
2.
3.import java.util.Iterator;
4.import java.util.List;
5.
6.import org.hibernate.Criteria;
7.import org.hibernate.Query;
8.import org.hibernate.Session;
9.import org.hibernate.SessionFactory;
10.import org.hibernate.cfg.Configuration;
11.import org.hibernate.criterion.Restrictions;
12.
13.import com.hb3.pack_01.model.User;
14.
15.public class BusinessService {
16.
17.    public static void main(String[] args) {
18.        
19.        Configuration config = new Configuration().configure();
20.        SessionFactory sessionFactory = config.buildSessionFactory();      
21.        Session session = sessionFactory.openSession();
22.        
23.        Criteria criteria = session.createCriteria(User.class);
24.        List<?> users = criteria.list();
25.        Iterator<?> iterator = users.iterator();
26.        System.out.println("id \t name/age");
27.
28.        while (iterator.hasNext()) {
29.            User user = (User) iterator.next();
30.            System.out.println(user.getId() + " \t " + user.getName() + "/" + user.getAge());
31.        }
32.        
33.        //criteria.add(Expression.eq("name", "shenbin"));
34.        criteria.add(Restrictions.eq("name", "shenbin"));
35.        users = criteria.list();
36.        iterator = users.iterator();
37.        System.out.println("id \t name/age");
38.
39.        while (iterator.hasNext()) {
40.            User user = (User) iterator.next();
41.            System.out.println(user.getId() + " \t " + user.getName() + "/" + user.getAge());
42.        }
43.        
44.        System.out.println("====================================================");
45.        
46.        Query query = session.createQuery("from User");
47.        users = query.list();
48.        iterator = users.iterator();
49.        System.out.println("id \t name/age");
50.
51.        while (iterator.hasNext()) {
52.            User user = (User) iterator.next();
53.            System.out.println(user.getId() + " \t " + user.getName() + "/" + user.getAge());
54.        }
55.        
56.        query = session.createQuery("from User user where user.name like ?");
57.        query.setParameter(0, "shenbin");
58.        users = query.list();
59.        iterator = users.iterator();
60.        System.out.println("id \t name/age");
61.
62.        while (iterator.hasNext()

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号