- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库查询方法汇集笔记
Hibernate:
首先,在配置文件hibernate.cfg.xml中配置数据源
其次,在HibernateSessionFactory中加载配置文件(数据源)初始化并创建session
用持久化对象hibernate时 从创建Session session开始:
Session session = sessionfactory.openSession();
有session后可创建Criteria、 HYPERLINK mk:@MSITStore:d:\\user\\089257\\桌面\\Hibernate_api.chm::/org/hibernate/Query.html \o interface in org.hibernate Query、SQLQuery对象操作数据库
Spring:
首先,在spring.xml中配置sessionFactory数据源以及mapping等资源
其次,在dao类的配置中需要注入sessionFactory,继承HibernateDaoSupport类
然后,利用HibernateTemplate模板类进行操作数据库
如果用到分页查询,需要创建获得session对象
return (List) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
Query query = session.createQuery(queryString);
query.setProperties(args);
return query.list();
}
});
如果用纯SQL,可用sping的 JdbcTemplate的模板方法进行操作数据库,需要在dao类中注入dataSource,并继承JdbcTemplate
如下:
private JdbcTemplate jdbcTemplate;
private DataSource dataSource;
public JdbcTemplate getJdbcTemplate() {
if (jdbcTemplate == null) {
jdbcTemplate = new JdbcTemplate(dataSource);
}
return jdbcTemplate;
}
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
创建一个条件面向对象的查询对象Criteria
Criteria : 代表一次查询
Criterion:代表一个查询条件
Restrictions: 代表查询条件的工具类。
步骤:1 获取Hibernate的Session对象
2.已Session对象创建Criteria对象
3.使用Restrictions的静态方法创建Criterion
4.向Criteria查询中添加查询条件
5.执行Criteria的List方法返回查询结果
Criteria criteria = session.createCriteria(Class persistentClass)
criteria.add(Expression.eq(name,zgl));
备注:条件表达式:Expression 和Restrictions关系 –继承
java.lang.Object
org.hibernate.criterion.Restrictions
org.hibernate.criterion.Expression
对象:DetachedCriteria
为了查询条件和Session分离而重复使用查询条件,使用DetachedCriteria对象
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(MyTest.class);
detachedCriteria.add(Expression.eq(name, zgl));
detachedCriteria.addOrder(Order.asc(age));
当查询时再和session绑定:
Criteria c = detachedCriteria.getExecutableCriteria(session);
Iterator it = c.list().iterato
您可能关注的文档
最近下载
- 小班数学活动《小动物在哪里》PPT课件.ppt
- 全国节约用水知识竞赛题库(含答案).pdf
- 机动护士培训【30页】.pptx
- unit 2(单元测试)-2024-2025学年人教PEP版英语三年级上册.doc VIP
- 控制系统仿真与计算机辅助设计第三版薛定宇习题答案.pdf
- 土地资源管理学(第二版)张正峰,第一至第十二章知识点.docx
- (人教2024版)化学九年级上册 跨学科实践:基于碳中和理念设计低碳行动方案 课件.pptx
- 化工技术经济可行性研究报告书1116.doc
- 宋元考古课件:磁州窑.ppt
- 2023年西南民族大学计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
文档评论(0)