一.背景
在项目很多基本的操作时,编码费时费力,所以想简化基本的增删改查,让开发更加高效,这个插件里面封装好了我们需要用到的很多sql语句,不过这个插件是通过我们去调用它封装的各种方法来实现sql语句的效果。对于单表查询不需要写SQL语句,这样就不用像mybatis那样每次写一个接口就要写一条sql语句。这样大大减少了我们的工作量。只需要写特殊的sql
二.搭建与使用
- tk.mybatis的maven依赖包
<!-- tk.mybatis-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0.1-jre</version>
</dependency>
2.添加一个UserInfo实体类
3.通用业务层实现,编写项目ServiceImple时需要继承该BaseService,以及其本身自己定义的IService实现基本的增删改查
public abstract class BaseService<T> implements IBaseService<T> {
/**
* The Logger.
*/
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
/**
* The Mapper.
*/
@Autowired
protected Mapper<T> mapper;
/**
* Gets mapper.
*
* @return the mapper
*/
public Mapper<T> getMapper() {
return mapper;
}
/**
* Select list.
*
* @param record the record
* @return the list
*/
@Override
public List<T> select(T record) {
return mapper.select(record);
}
/**
* Select by key t.
*
* @param key the key
* @return the t
*/
@Override
public T selectByKey(Object key) {
return mapper.selectByPrimaryKey(key);
}
/**
* Select all list.
*
* @return the list
*/
@Override
public List<T> selectAll() {
return mapper.selectAll();
}
/**
* Select one t.
*
* @param record the record
* @return the t
*/
@Override
public T selectOne(T record) {
return mapper.selectOne(record);
}
/**
* Select count int.
*
* @param record the record
* @return the int
*/
@Override
public int selectCount(T rec