- Spring Boot 整合 TKMybatis
- 自定义父类接口
- 新增接口
- 新增之后回显Id
- 更新
- 删除
- 单查询
- 查询列表
- 计数
- 条件构造器
- 微信公众号
TKMybatis 也叫作 Mybatis Mapper,都是同一个东西,官方文档地址
Boot 整合定律
1、添加pom.xml 相关依赖
2、修改配置文件
3、添加注解,KO
相关依赖
tk.mybatis mapper-spring-boot-starter 2.1.0
配置文件添加配置
# mybatis
mybatis:
type-aliases-package: cn.tellsea.skeleton.business.entity
configuration:
map-underscore-to-camel-case: true
整合TKMybatis,启动类添加注解扫描即可
@MapperScan("cn.tellsea.skeleton.business.mapper")
整合完整,简单吧
自定义父类接口了解过 TKMybatis 的人都知道,他的使用方式是通过持久层继承接口,从而直接调用已经写好的方法,首先我们定义需要的基类公共接口,让实际业务的Mapper 层继承接口即可,下面是我整理的最常用接口:
public interface MyMapperextends Mapper , DeleteByIdsMapper , MySqlMapper , BatchMapper { // Mapper 基础接口 // DeleteByIdsMapper 支持批量删除 // MySqlMapper 支持批量新增 // BatchMapper 支持批量更新 }
实际使用中,将我们的Mapper接口继承上面的自定义接口,即可使用所有基本功能
public interface UserInfoMapper extends MyMapper{ }
然后在调用时,注入 UserInfoMapper 即可直接使用。
新增接口当继承了自定义 Mapper 接口时,已经可以使用方法了
void insert(T record); void insertSelective(T record); void insertList(List extends T> recordList); void insertUseGeneratedKeys(T record);新增之后回显Id
第一步,检查实体类的 Id 属性是否开启了注解
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id;
@GeneratedValue注解的strategy属性提供四种值
| 属性值 | 说明 |
|---|---|
| AUTO | 主键由程序控制, 是默认选项 ,不设置就是这个 |
| IDENTITY | 主键由数据库生成, 采用数据库自增长, Oracle不支持这种方式 |
| SEQUENCE | 通过数据库的序列产生主键, MYSQL 不支持 |
| Table | 提供特定的数据库产生主键, 该方式更有利于数据库的移植 |
第二步,直接新增之后调用实体类的 GetId 方法,即可拿到回显 Id,简单吧!!!
@Test
private void test() {
UserInfo userInfo = new UserInfo();
userInfoService.insertSelective(userInfo);
System.out.println(userInfo.getId());
}
更新
void updateByPrimaryKey(T record); void updateByPrimaryKeySelective(T record); void updateByExample(T record, Object example); void updateByExampleSelective(T record, Object example); void updateBatchByPrimaryKeySelective(List extends T> recordList);删除
void delete(T record); void deleteByPrimaryKey(Object key); void deleteByIds(String ids); void deleteByExample(Object example);单查询
T selectByPrimaryKey(Object key); T selectOne(T record); T selectOneByExample(Object example);查询列表
List计数select(T record); List selectAll(); List selectByExample(Object example); List selectByRowBounds(T record, RowBounds rowBounds); List selectByExampleAndRowBounds(Object example, RowBounds rowBounds);
int selectCount(T record); int selectCountByExample(Object example);条件构造器
Example example = new Example(UserInfo.class); Example.Criteria criteria = example.createCriteria();
绝大多数的 sql 语句都能构建,没毛病
微信公众号


