import com.iloosen.imall.commons.util.BusinessException;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.List;
@Transactional(readOnly = true)
public abstract class BaseEntityManager <E,PK extends Serializable>{
// private Log log = LogFactory.getLog(getClass());
protected abstract EntityDao<E,PK> getEntityDao();
@Transactional(readOnly=true)
public E getById(PK id) throws BusinessException {
return getEntityDao().getById(id);
}
@Transactional(readOnly=true)
public List<E> findAll() throws BusinessException {
return getEntityDao().findAll();
}
/** 根据id检查是否插入或是更新数据 */
@Transactional
public void saveOrUpdate(E entity) throws BusinessException {
getEntityDao().saveOrUpdate(entity);
}
/** 插入数据 */
@Transactional
public void save(E entity) throws BusinessException {
getEntityDao().save(entity);
}
@Transactional
public void removeById(PK id) throws BusinessException {
getEntityDao().deleteById(id);
}
@Transactional
public void update(E entity) throws BusinessException {
getEntityDao().update(entity);
}
@Transactional(readOnly=true)
public boolean isUnique(E entity, String[] uniquePropertyNames) {
return getEntityDao().isUnique(entity, uniquePropertyNames);
}
@Transactional
public void flush() {
getEntityDao().flush();
}
@Transactional(readOnly=true)
public void refresh(BaseEntity entity) {
getEntityDao().refresh(entity);
}
}
分享到:
相关推荐
去年写智能设备的时候写的一个 SDK,删了一些不便透露的部分,封装成了一个库,基本功能都有。manger 类和 device 类框架也搭好了,具体的 service 啊 uuid 啊 根据你们硬件来写, 基本方法都差不多一个格式。 ...
一个服务,它封装了提供的功能。 入门 angular-paylogic-shopping-service需要和 。 从项目的根目录运行bower install以安装所有依赖项。 从项目的根目录启动一个 web 服务器,例如python -m SimpleHTTPServer并...
- Service层:封装了业务逻辑,提供了节目编排和导出演出单等功能。 - Controller层:实现用户界面和Model、Service之间的交互。 该项目已经完成了基本的功能,但仍有一些可以改进的地方,比如增加权限管理、优化...
1. int 是 Java 的基本数据类型,Integer 是 Java 为 int 提供的封装类。 异常处理 1. Exception 是 Java 的异常处理机制, RuntimeException 是运行时异常,throws 和 throw 是抛出异常的关键字,Error 是错误...
redis,memcache API封装可直接调用),开发框架库(消息调度处理,自动连接管理,服务开发,游戏框架,服务间消息收发,消息通信等等),消息中间件服务(不同网络路由器间自动传递收发消息)等多个功能组件,...
这里面的每一个功能都非常实用,使用NSSM来封装服务可以大大简化我们的开发流程了。 开发的时候是一个普通程序,降低了开发难度,调试起来非常方便 安装简单,并且可以随时修改服务属性,更新也更加方便 可以利用...
基于控制台输出的java通讯录,功能模块有基本的增删改查语句,使用数据库,对数据库进行操作,使用三层架构模式,分层来写的。 按照三层架构来写的,dao层、entity层,service层,(view层)。 dao层主要是用来进行...
封装了泛型DAO和泛型Service 通过配置,已经实验通过双数据库的方案 今后是准备权限与业务模块分离,并专用一个数据库。 源码介绍: GoldArch.Base: 封装了基本的接口,并应用NHibernate实现了的泛型DAO的基本操作 ...
smiling框架 smiling框架主要目的是 快速开发 最大限度积累技术、功能模块 扩展灵活 smiling框架是对springMVC/spring/spirng data jpa简单封装 ...dao模块 - 管理dao数据层,提供数据存储功能,封装了基本的CR
1. JDK 1.1引入了AWT Printing API,这是Java平台对基本打印功能的初次尝试,通过`java.awt.PrintJob`类实现了打印请求的封装。 2. JDK 1.2扩展了打印能力,加入了`java.awt.print`包,允许应用程序打印Java 2D图形...
在每个模块开始时,都要创建如下基本类:实体类、DAO类、Service类、Servlet类: cn.itcast.goods.user.domain.User; cn.itcast.goods.user.dao.UserDao; cn.itcast.goods.user.service.UserService; ...
1. unit:unit 是 systemd 中的基本组件,每个 unit 都是一种抽象的配置单元,可以认为是一个服务、挂载点、交换分区的配置等等。 2. service:service 是一种 unit,代表一个后台服务进程。 3. socket:socket 是一...
4.4.5 使用CoreService类完成消息的处理 95 4.4.6 部署应用及测试体验 97 4.5 小结 98 第5章 自定义菜单的使用 99 5.1 发送HTTPS请求 99 5.1.1 两种解决方法 99 5.1.2 自定义信任管理器 100 ...
将controller层,service层,model层做了抽象封装,大部分通用逻辑都已经默认添加,极大的减少代码量。 对model层做了特别封装,同时支持sql和mongodb,写法完全一样。 model层封装成了promise的写法,让你的数据...
ESB(Enterprise Service Bus,即企业服务总线)是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。企业服务总线ESB就是一种可以提供可靠的、有...
本文对基于 GPRS 技术的广域网数据通讯进行了详细的设计和实现,包括 GPRS 技术的基本原理、GPRS 网络的基本架构、GPRS 技术在广域网数据通讯中的应用、MC35i 模块的功能原理、基于 MC35i 的 GPRS 通讯实验电路设计...
1:集成最新,最流行,,最成熟悉的技术框架 springMVC4.1.4,spring... 1:系统具有最基本的用户,角色,资源,权限管理,日志管理等通用性功能,企业或个人可直接在此基础上进行开发,扩展,添加各自的需求和业务功能!
实现JPA基本数据库操作功能封装 实现基于ASM9,动态生成entity、repository、service、serviceImpl、controller相关.class 可根据库表,一键生成新增、修改删除、查询等接口 实现部分基于mybatis-plus,动态代码生成...
一键生成jsp-controller-service-serviceImpl-DAO-Bean-Mapper.XML-application.properties; 一键生成BeanMapJsonUtil、ActiveMQ、Redis、Quartz等基本类; 一键生成webXml、initXml、contextXml等系统配置文件 ...
思科CCNA学习笔记是网络工程师的必备知识,涵盖了计算机网络的基本概念、OSI与TCP/IP协议框架、IP报文传输过程、传输层功能、TCP与UDP对比等内容。以下是该笔记的详细知识点: 一、OSI与TCP/IP协议框架 OSI(Open ...