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实现增删改查的更多相关文章

  1. SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现

    一.用myEclipse初始化Web项目 新建一个web project: 二.创建包 controller        //控制类 service //服务接口 service.impl //服务 ...

  2. spring boot集成mongodb的增删改查

    添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...

  3. HibernateTemplate、HibernateDaoSupport两种方法实现增删改查Good(转)

    Spring+Hibernate两种方法实现增删改查 首先,定义一个Customer的bean类,设置好Customer.hbm.xml文件.再定义好一个Dao接口.准备好一个jdbc.propert ...

  4. C#-WebForm-LinQ(一)-LinQ:语言集成查询(Language Integrated Query)-增删改查、属性扩展

    LinQ-语言集成查询(Language Integrated Query) 高集成化的数据库访问技术 LINQ 2 SQL 实际是将数据库的表映射成程序中的类 会把数据库的表名原封不动的变成类名 数 ...

  5. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  6. Android_SQLite数据库增删改查操作

    一:什么是SQLite? 在Android平台上,集成了一个嵌入式关系型轻量级的数据库. 二:什么时候用的数据库? 有大量相似机构的数据需要存储时. 三:如何创建一个数据库? 1.创建一个Sqlite ...

  7. linq的简单增删改查

    Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好 ...

  8. [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界

    本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...

  9. Webform(Linq增删改查)

    Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(1)Linq创建添加LINQ to SQL类,类名需与要连接的数 ...

随机推荐

  1. Flask,ORM及模板引擎Jinja2

    跨域:http://blog.csdn.net/yannanxiu/article/details/53036508 下载flask_cors包 pip install flask-cors 使用fl ...

  2. varnish代理缓存服务器的安装与使用

    1. 下载解压 cd /usr/local/src/ wget https://codeload.github.com/varnishcache/varnish-cache/zip/master ch ...

  3. Tomcat学习笔记【3】--- Tomcat目录结构

    本文主要讲Tomcat包的目录结构. 1 bin目录 这个目录只要是存放了一些bat文件或者sh文件.比如说我们需要启动tomcat的bat文件就在这个目录下. 2 conf 这个目录中存放的都是一些 ...

  4. 我的Android进阶之旅------>温习Sqlite3的常用操作

    前言;今天要写一个应用来调节系统的Brightness值,来改变系统的背光亮度.由于刚开始些的时候没有考虑Brightness的最小值,直接托动SeekBar到最小值(为0).瞬间,屏幕变成全黑,失败 ...

  5. ABAP excel操作 OLE 常用方法和属性

    转自 http://bstone.blog.163.com/blog/static/176820446201172834149199/#userconsent# OLE 常用方法和属性 1.ole中如 ...

  6. VIM中使用tab键自动完成(vim tab键自动补全 )插件supertab

    supertab.vmb 这个插件好好用, Tab自动补全 http://www.vim.org/scripts/script.php?script_id=1643 安装步骤: 1.下载 supert ...

  7. Android 进程增加存活率

    引用 : http://geek.csdn.net/news/detail/68515

  8. jQuery 3D旋转展示焦点图

    在线演示 本地下载

  9. XXL-Job集群

    底层已经实现好了 调度中心集群 调度中心支持集群部署,提升调度系统容灾和可用性. 调度中心集群部署时,几点要求和建议: DB配置保持一致: 登陆账号配置保持一致: 群机器时钟保持一致(单机集群忽视): ...

  10. Spring Boot2.0之整合事物管理

    首先Spring 事务分类 1.声明事务  原理:基于编程事务的 2.编程事务  指定范围 扫包去解决 3.事务原理:AOP技术   通过环绕通知进行了拦截 使用Spring 事务注意事项: 不要tr ...