集成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类,类名需与要连接的数 ...
随机推荐
- python 基础 1.5 python数据类型(三)--元组
一.python的数据类型 序列--元组 1.序列 1>字符串,列表,元组都是序列. 2>序列的两个特点是索引操作符和切片操作符 索引操作符:我们可以从序列中抓取一个特定项目 切片操作符: ...
- WEB服务器、应用程序服务器、HTTP服务器区别【转】
WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了: Web服务器 ...
- java中Random(long seed)方法与rRandom()方法的使用产生随机数
Random 类作为JAVA中用于产生的随机数 ,new Random(10) :10是种子数. 注意:Random 的一个特点是:相同种子数的Random对象,对应相同次数生成的随机数字是完全相 ...
- Louvain Modularity Fast unfolding of communities in large networks
Louvain Modularity Fast unfolding of communities in large networks https://arxiv.org/pdf/0803.0476.p ...
- 性能测试--Jmeter录制、回放
Jmeter录制.回放 在jmeter2.1版本之前,jmeter应该是不支持录制和回放功能的,那时候如果需要录制jmeter的性能测试脚本的话,就需要使用第三方工具——badboy.现在jmeter ...
- 题解 P3372 【【模板】线段树 1】
发一篇不需要O2就能过的分块. 基本思路: 分块的思路,大段维护,小段朴素. 维护几个数组: 区块\(block[maxn]\) 懒标记\(tag[maxn]\) 真实数据\(data[maxn]\) ...
- jquery .html(),.text(),.val()用法
.html()用为读取和修改元素的HTML标签 .text()用来读取或修改元素的纯文本内容 .val()用来读取或修改表单元素的value值. 这三个方法功能上的对比 .html(),.text() ...
- 【Windows】修改远程桌面端口号
echo off echo 修改远程连接端口 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Se ...
- HDU - 1495 非常可乐 【BFS】
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1495 思路 首先 如果可乐的体积 是奇数 那么是无解的 然后 如果能够得到两杯 都是一般容量的可乐 那 ...
- PAT 天梯赛 L3-003. 社交集群 【并查集】
题目链接 https://www.patest.cn/contests/gplt/L3-003 思路 并查集 用一个 cou[i] 来表示 第 i 门课程 的第一个 感兴趣的人 并的时候 判断 cou ...