集成hibernateDaoSupport实现增删改查
1.
package edu.jlu.fuliang.dao.impl; import java.util.List; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import edu.jlu.fuliang.dao.SingerDAO;
import edu.jlu.fuliang.domain.Band;
import edu.jlu.fuliang.domain.CompositeSinger;
import edu.jlu.fuliang.domain.Singer;
import edu.jlu.fuliang.domain.SingleSinger; public class SingerDAOImpl extends HibernateDaoSupport implements SingerDAO{ public void deleteSinger(Long id) {
getHibernateTemplate().delete(id);
} public List<Band> getAllBands() {
return getHibernateTemplate().find("from Band");
} public List<CompositeSinger> getAllCompositeSingers() {
return getHibernateTemplate().find("from CompositeSinger");
} public List<Singer> getAllSingers() {
return getHibernateTemplate().find("from Singer");
} public List<SingleSinger> getAllSingleSingers() {
return getHibernateTemplate().find("from SingleSinger");
} public List<Band> getBandsByName(String name) {
return getHibernateTemplate().find("from Band b where b.name=?", new String[]{name});
} public Singer getSingerById(Long id) {
return (Singer)getHibernateTemplate().get(Singer.class, id);
} public List<Singer> getSingerByRegion(String region) {
return getHibernateTemplate().find("from Singer s where s.region=?", new String[]{region});
} public List<Singer> getSingersByName(String name) {
return getHibernateTemplate().find("from Singer s where s.name=?",new String[]{name});
} public List<SingleSinger> getSingleSingersByName(String name) {
return getHibernateTemplate().find("from SingleSinger s where s.name=?",new String[]{name});
} public void saveSinger(Singer singer) {
getHibernateTemplate().save(singer);
} public void updateSinger(Singer singer) {
getHibernateTemplate().saveOrUpdate(singer);
}
}
2.
package edu.jlu.fuliang.dao.impl; import java.sql.SQLException;
import java.util.List; import org.hibernate.FetchMode;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import edu.jlu.fuliang.dao.SongDAO;
import edu.jlu.fuliang.domain.Song; public class SongDAOImpl extends HibernateDaoSupport implements SongDAO{ public void delete(long id) {
Song song =(Song)getHibernateTemplate().get(Song.class,id);
getHibernateTemplate().delete(song);
} public List<Song> findAll() {
return (List<Song>)getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(final Session session)
throws HibernateException, SQLException {
return session.createCriteria(Song.class).setFetchMode("", FetchMode.JOIN).list();
}
});
} public Song findById(long id) {
return (Song)getHibernateTemplate().get(Song.class, id);
} public List<Song> findByName(String name) {
return getHibernateTemplate().find("from Song s where s.name like '%" + name + "%'");
} public void save(Song song) {
getHibernateTemplate().saveOrUpdate(song);
} public void update(Song song) {
getHibernateTemplate().saveOrUpdate(song);
} public List<Song> findBySingerRegion(final String region) {
return (List<Song>)getHibernateTemplate().execute(new HibernateCallback(){ public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery("from Song s left join fetch s.singer where s.singer.region=?");
return query.setString(0, region).list();
}
});
}
}
集成hibernateDaoSupport实现增删改查的更多相关文章
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
一.用myEclipse初始化Web项目 新建一个web project: 二.创建包 controller //控制类 service //服务接口 service.impl //服务 ...
- spring boot集成mongodb的增删改查
添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- HibernateTemplate、HibernateDaoSupport两种方法实现增删改查Good(转)
Spring+Hibernate两种方法实现增删改查 首先,定义一个Customer的bean类,设置好Customer.hbm.xml文件.再定义好一个Dao接口.准备好一个jdbc.propert ...
- C#-WebForm-LinQ(一)-LinQ:语言集成查询(Language Integrated Query)-增删改查、属性扩展
LinQ-语言集成查询(Language Integrated Query) 高集成化的数据库访问技术 LINQ 2 SQL 实际是将数据库的表映射成程序中的类 会把数据库的表名原封不动的变成类名 数 ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- Android_SQLite数据库增删改查操作
一:什么是SQLite? 在Android平台上,集成了一个嵌入式关系型轻量级的数据库. 二:什么时候用的数据库? 有大量相似机构的数据需要存储时. 三:如何创建一个数据库? 1.创建一个Sqlite ...
- linq的简单增删改查
Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好 ...
- [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界
本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...
- Webform(Linq增删改查)
Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(1)Linq创建添加LINQ to SQL类,类名需与要连接的数 ...
随机推荐
- Flask,ORM及模板引擎Jinja2
跨域:http://blog.csdn.net/yannanxiu/article/details/53036508 下载flask_cors包 pip install flask-cors 使用fl ...
- varnish代理缓存服务器的安装与使用
1. 下载解压 cd /usr/local/src/ wget https://codeload.github.com/varnishcache/varnish-cache/zip/master ch ...
- Tomcat学习笔记【3】--- Tomcat目录结构
本文主要讲Tomcat包的目录结构. 1 bin目录 这个目录只要是存放了一些bat文件或者sh文件.比如说我们需要启动tomcat的bat文件就在这个目录下. 2 conf 这个目录中存放的都是一些 ...
- 我的Android进阶之旅------>温习Sqlite3的常用操作
前言;今天要写一个应用来调节系统的Brightness值,来改变系统的背光亮度.由于刚开始些的时候没有考虑Brightness的最小值,直接托动SeekBar到最小值(为0).瞬间,屏幕变成全黑,失败 ...
- ABAP excel操作 OLE 常用方法和属性
转自 http://bstone.blog.163.com/blog/static/176820446201172834149199/#userconsent# OLE 常用方法和属性 1.ole中如 ...
- VIM中使用tab键自动完成(vim tab键自动补全 )插件supertab
supertab.vmb 这个插件好好用, Tab自动补全 http://www.vim.org/scripts/script.php?script_id=1643 安装步骤: 1.下载 supert ...
- Android 进程增加存活率
引用 : http://geek.csdn.net/news/detail/68515
- jQuery 3D旋转展示焦点图
在线演示 本地下载
- XXL-Job集群
底层已经实现好了 调度中心集群 调度中心支持集群部署,提升调度系统容灾和可用性. 调度中心集群部署时,几点要求和建议: DB配置保持一致: 登陆账号配置保持一致: 群机器时钟保持一致(单机集群忽视): ...
- Spring Boot2.0之整合事物管理
首先Spring 事务分类 1.声明事务 原理:基于编程事务的 2.编程事务 指定范围 扫包去解决 3.事务原理:AOP技术 通过环绕通知进行了拦截 使用Spring 事务注意事项: 不要tr ...