import java.util.List; public interface BaseService<M extends java.io.Serializable, PK extends java.io.Serializable> { public M findById(PK id); public List<M> findByHQL(String hql, Object... params); public void update(M entity); public PK save(M entity); public void saveOrUpdate(M entity); public void delete(M entity); public void deleteById(PK id); } import java.util.List; import org.springframework.transaction.annotation.Transactional; @Transactional public abstract class BaseServiceImpl<M extends java.io.Serializable, PK extends java.io.Serializable> implements BaseService<M, PK> { //这里不能使用spring3的ioc注入,泛型只在编译期间有效,所以必须在编译时决定类型。 //@Autowired spring4新特性泛型注入可以实现 //protected BaseDao<M, PK> dao; /*public void setDao(BaseDao<M, PK> dao) { this.dao = dao; }*/ protected BaseDao<M, PK> dao; @Override public M findById(PK id) { return this.dao.findById(id); } @Override public List<M> findByHQL(String hql, Object... params) { return this.dao.findByHQL(hql, params); } @Override public void update(M entity) { this.dao.update(entity); } @Override public PK save(M entity) { PK id = this.dao.save(entity); /* test rollback if (id != null) throw new RuntimeException("runtime exception throw from " + this.getClass().getSimpleName() + ".save()"); */ return id; } @Override public void saveOrUpdate(M entity) { this.dao.saveOrUpdate(entity); } @Override public void delete(M entity) { this.dao.delete(entity); } @Override public void deleteById(PK id) { this.dao.delete(this.findById(id)); } } /////////////////////////////////////////////////////////////// public interface StudentService extends BaseService<Student, String> { /** * 添加 IBaseService 没有定义的方法 */ public void serviceMethod(); } import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service("studentService") @Transactional public class StudentServiceImpl extends BaseServiceImpl<Student, String> implements StudentService { protected StudentDao studentDao; @Resource(name = "studentDao") public void setStudentDao(StudentDao dao) { super.dao = dao; this.studentDao = dao; } @Override public void serviceMethod() { this.studentDao.studentMethod(); } }
相关推荐
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql5.7以上 部署环境:maven 数据库工具:navicat
YunSDR通信小课堂(第15讲).mhtml
【前端】是基于salvo和rbatis的rbac权限管理系统的前端项目
DeepSeek_V3技术报告译文版,翻译学习版,简单易懂;
分享一个ArcGIS 二调符号库(部标准)
【断点续传】FTP断点续传搭建_pgj
木块识别数据集,正确识别率95.7%,yolov5pytorch格式标注(可用于统计木块数量)
三相LCL型并网逆变器:电容电流反馈与电网电压全前馈的优化控制策略及低次谐波抑制技术,三相LCL型并网逆变器:电容电流反馈与全前馈电网电压控制策略的优化与谐波抑制研究,三相lcl型并网逆变器控制策略 电容电流反馈和电网电压全前馈,加入5.7.11.13次谐波thd<5。 相关方面电力电气工程,电子信息工程等等都可以。 ,三相lcl型并网逆变器控制策略; 谐波thd; 电网电压全前馈; 电容电流反馈; 电力电气工程; 电子信息工程,基于谐波优化的三相LCL型并网逆变器控制策略研究
基于SSA-RF算法优化的多变量时间序列预测:交叉验证抑制过拟合的Matlab代码实现,"基于SSA-RF优化的多变量时间序列预测及过拟合抑制:MATLAB代码实践",基于麻雀搜索算法优化随机森林(SSA-RF)的多变量时间序列预测 SSA-RF多变量时间序列 采用交叉验证抑制过拟合问题 matlab代码, 注:暂无Matlab版本要求 -- 推荐 2018B 版本及以上 注:采用 RF 工具箱(无需安装,可直接运行),仅支持 Windows 64位系统 ,SSA-RF; 麻雀搜索算法; 随机森林; 多变量时间序列预测; 交叉验证; 过拟合抑制; MATLAB代码; Windows 64位系统,"基于SSA-RF优化的多变量时间序列预测的Matlab交叉验证实现"
DeepSeek本地部署AI对话网页版
【毕业设计】基于VpnService的Android抓包与防火墙的实现_pgj
DeepSeek 使用技巧,强烈建议收藏.docx
逐项优化进阶:水果图像分割
使用Visual Studio搭建C++20开发环境
三相同步旋转锁相环PSIM仿真,以及相关技术文件代码
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql5.7以上 部署环境:maven 数据库工具:navicat
之前全套打包的,也忘记有没有教程了,反正搭建挺简单的,先替换域名再搭建就好了,,不会的可以来问我,但是代搭建需要收辛苦费。 注意:这是系统源码,授权站+主站的。完整版的,之前拿来卖的,现在拼多多我也在卖,保证可用,因为之前都是给客户一条龙搭建好的,也忘记有没有教程了,多研究研究就好了。
内容概要:本文提出了一种针对带正交加强件(纵向筋条与环形肋)的层合材料圆柱壳振动声特性的半解析方法。该模型采用一阶剪切变形理论结合Lekhnitsky分散加强筋技术和光谱边界元法进行计算,并引入了主要结构与子段的概念以应对复杂壳体建模问题。文中利用傅里叶级数与勒让德多项式作为容许函数,在不同外部流体条件、夹层层法和加固件的数量及形状变化下进行了数值验证,并展示了模型对振动声性能预测的能力。 适合人群:机械工程领域的研究人员和技术人员,特别是从事复合材料及船舶海洋工程方向的人士。 使用场景及目标:用于精确模拟和评估带有不同加强结构的复合圆柱壳体在浸没情况下的振动响应与辐射噪声行为,辅助优化设计方案并提高产品性能。 其他说明:本研究成果为理解网格强化叠层结构提供了新的视角,并强调了此类材料组合应用于实际工程项目时所需关注的关键因素。此外还对比了一些文献数据来证明所提方法的有效性和准确性。
【毕业设计】关于新浪微博API的Java编程._pgj
第三方热狗如果个胜多负少