集成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类,类名需与要连接的数 ...
随机推荐
- EF6&EFCore 注册/使用实体类的正确姿势
首先回顾下EF中常规使用流程 1.新建实体类以及实体配置(data annotation或fluent api) [Table("Users")] public class Use ...
- SAP Sybase SQLAnywhere[ASA]数据库中数据行的存储机制
SQLAnywhere[ASA]数据库(以下简称ASA)中的数据库文件,是如何存储普通的表的记录行呢?插入.更新.删除时,记录行的存储会有什么变化? 了解了这些,才能更好的理解如何对ASA数据库进行调 ...
- Android中的android:layout_width和android:width
最近在看android的东西,发现很多和web前台的东西一样(思想).只是看到很多属性的写法和前台有差别,刚刚看到这样的属性: android:width 其实是定义控件上面的文本(TextView) ...
- 谁能举个通俗易懂的例子告诉我IAAS,SAAS,PAAS的区别?【转自知乎】
是时候祭出这篇吃货文章了: ———————————————————— ———————————————————— ———————————————————— &amp;amp;amp;lt ...
- dubbo介绍及其使用案例
dubbo介绍及其使用案例 1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果 ...
- 3行代码 多元线性方程组 rank=4 多元-一元 降元
对于线性方程组Ax=b 对A和b执行同样的一串行初等运算, 那么该方程组的解集不发生变化. [未知-已知 高阶--低阶] http://mathworld.wolfram.com/CramersR ...
- 安装postgresql碰到Unable to write inside TEMP environment path
搞了半天,原来是 AVAST搞的鬼,把原来注册表的键值改成它自己了.其实应该是 C:\Windows\System32\vbscript.dll The answer in the following ...
- JavaScript及jQuery学习小结
最近几天学习了很多关于JavaScript和jQuery的文章,稍作梳理后,总结如下. 1.jQuery入门系列 环境搭建 只需引用一个jQuery库文件,即可完成jQuery的环境搭建. 选择器 j ...
- BeginPaint和GetDC有什么区别
windows编程问题 第一种情况显示出来的字很正常. case WM_PAINT: gdc = BeginPaint (hwnd, &ps); TextOut (gdc, 0, 0, s, ...
- 用ant编译打包时 警告:编码 GBK 的不可映射字符
原因,参考http://zhidao.baidu.com/question/26901568.html 添加如下的红色一行后编译通过<target name="compile" ...