通用Service
来源:互联网 发布:java转嵌入式 编辑:程序博客网 时间:2024/05/18 04:58
package com.lyt.usermanage.pojo;import java.util.Date;public abstract class BasePojo { private Date created; private Date updated; public Date getCreated() { return created; } public void setCreated(Date created) { this.created = created; } public Date getUpdated() { return updated; } public void setUpdated(Date updated) { this.updated = updated; }}
package com.lyt.usermanage.service;import java.util.Date;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import com.github.abel533.entity.Example;import com.github.abel533.mapper.Mapper;import com.github.pagehelper.PageHelper;import com.github.pagehelper.PageInfo;import com.lyt.usermanage.pojo.BasePojo;/** * 抽取出一些基本的操作 * @author Administrator * */public abstract class BaseService<T extends BasePojo> { @Autowired private Mapper<T> mapper; /** * 定义一个抽象方法,获取mapper,由子类去完成 * @return */// public abstract Mapper<T> mapper; public T queryById(Long id){ return this.mapper.selectByPrimaryKey(id); } /** * 查询所有对象 * @return */ public List<T> queryAll(){ return this.mapper.select(null); } /** * 根据条件查询唯一的一条记录 * @return */ public T queryOne(T record){ return this.mapper.selectOne(record); } /** * 根据条件查询list数据 * @param record * @return */ public List<T> queryListByWhere(T record){ return this.mapper.select(record); } /** * 根据条件查询分页数据 * @param record * @return */ public PageInfo<T> queryPageListByWhere(T record , Integer pageNum , Integer pageSize){ PageHelper.startPage(pageNum, pageSize);//开启分页 List<T> list = this.mapper.select(record);//正常查询数据 PageInfo<T> pageInfo = new PageInfo<T>(list);//构建page信息 return pageInfo; } public Integer save(T record){ //把创建时间,和修改时间初始化进去。 record.setCreated(new Date());// record.setUpdated(record.getCreated());// return this.mapper.insert(record); } /** * 修改对象,如果属性是null,也进行修改 * @param record * @return */ public Integer update(T record){ record.setUpdated(new Date()); return this.mapper.updateByPrimaryKey(record); } /** * 修改对象,如果属性是null,则不进行修改 * @param record * @return */ public Integer updateSelective(T record){ record.setCreated(null);//强制把创建时间设置成null,不让修改 record.setUpdated(new Date()); return this.mapper.updateByPrimaryKeySelective(record); } public Integer deleteById(Long id){ return this.mapper.deleteByPrimaryKey(id); } /** * 根据ids 删除多个对象 * @param clazz ,实体对应的class * @param property 实体类中主键属性名 * @param ids 要删除的主键的值 * @return */ public Integer deleteByIds(Class<T> clazz , String property,List<Object> ids){ Example example = new Example(clazz); //第一个参数,实体类的属性 example.createCriteria().andIn(property, ids); return this.mapper.deleteByExample(example); } /** * 根据条件删除数据 * @param record * @return */ public Integer deleteByWhere(T record){ return this.mapper.delete(record); }}
抽取service中的一些通用方法
0 0
- 通用Service
- MyBatis通用Mapper,Service
- MyBatis通用dao和通用service
- MyBatis通用dao和通用service
- service(通用服务游览器)
- 25.通用service的抽取
- 使用mybatis完成通用dao和通用service
- JS调用web service的通用函数
- Cloud Foundry中通用service的集成
- Struts2 + Spring + Hibernate 通用 Service 和 DAO
- 通用service编写时baseDao注入问题
- 基于Mybatis的通用Service层实现
- 一份Service的通用接口编写!
- Servlet中通用的service方法
- C#中异地调用WEB Service的通用类库
- Web Service通用客户端和测试工具wsCaller1.1
- 通用查询引擎Restful service设计(目前支持hive,shark)
- Spring+HIbernate通用层Dao和Service实现
- L2十档行情API接口(十档委托、买卖队列、逐笔成交)web或软件应用xml数据接口
- 计算当前日期的前一天、后一天
- CY第一篇测试博客文章
- Android Studio缓存文件夹配置
- java 驼峰转换
- 通用Service
- leetcode shell题目题解
- oracle分页
- 代理缓存服务-squid
- 各种语法积累
- 基于Flume+Kafka+ Elasticsearch+Storm的海量日志实时分析平台
- Form表单验证神器: BootstrapValidator
- C++简单程序 计算存款本息 以及几个常见数学函数
- STP 没有形成是因为Valn没有同步,vlan没有同步是因为VTP没有配置好,vtp没有同步,可能是vtp的password密码no匹配。默认STP是pvst。每vlan一个生成树。