博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TkMybatis的常用方法介绍
阅读量:6893 次
发布时间:2019-06-27

本文共 1689 字,大约阅读时间需要 5 分钟。

TkMybatis的常用方法介绍

使用

public interface BaseMapper
extends tk.mybatis.mapper.common.BaseMapper
, IdsMapper
, MySqlMapper
, OracleMapper
{}pom.xml引入
tk.mybatis
mapper-spring-boot-starter
2.1.5
复制代码

注:为了演示所以同时引用了MySqlMapper和OracleMapper 正常情况是只能引用一种因为他们有一个相同的方法insertList(List list)

泛型(实体类)的类型必须符合要求

实体类按照如下规则和数据库表进行转换,注解全部是JPA中的注解:

  1. 表名默认使用类名,驼峰转下划线(只对大写字母进行处理),如UserInfo默认对应的表名为user_info。
  2. 表名可以使用@Table(name = “tableName”)进行指定,对不符合第一条默认规则的可以通过这种方式指定表名。
  3. 字段默认和@Column一样,都会作为表字段,表字段默认为Java对象的Field名字驼峰转下划线形式。
  4. 可以使用@Column(name = “fieldName”)指定不符合第3条规则的字段名。
  5. 使用@Transient注解可以忽略字段,添加该注解的字段不会作为表字段使用。
  6. 建议一定是有一个@Id注解作为主键的字段,可以有多个@Id注解的字段作为联合主键。

所有的mapper继承此类将具有以下通用方法

查询方法

BaseSelectMapper下的通用方法
方法名称 作用
List selectAll(); 查询全部数据
T selectByPrimaryKey(Object key); 通过主键查询
T selectOne(T record); 通过实体查询单个数据
List select(T record); 通过实体查询多个数据
int selectCount(T record); 通过实体查询实体数量
boolean existsWithPrimaryKey(Object key); 通过主键查询此主键是否存在
SelectByIdsMapper下的通用方法
方法名称 作用
List selectByIds(String var1); 通过多个主键查询数据

添加方法

BaseInsertMapper下的通用方法
方法名称 作用
int insert(T record); 全部添加
int insertSelective(T record); 选择性(不为null)的添加
MySqlMapper下的通用方法
方法名称 作用
int insertList(List list); 批量插入
int insertUseGeneratedKeys(T record); 如果主键为自增可使用此方法获取添加成功的主键
OracleMapper下的通用方法
方法名称 作用
int insertList(List list); 批量插入

修改方法

BaseUpdateMapper下的通用方法
方法名称 作用
int updateByPrimaryKey(T record); 按照实体进行修改
int updateByPrimaryKeySelective(T record); 按照实体进行有选择的修改

删除方法

BaseDeleteMapper下的通用方法
方法名称 作用
int delete(T record); 按照实体进行删除
int deleteByPrimaryKey(Object o); 按照主键进行删除
IdsMapper下的通用方法
方法名称 作用
int deleteByIds(String var1); 按照主键批量删除

转载地址:http://mjudl.baihongyu.com/

你可能感兴趣的文章
CSS“隐藏”元素的几种方法的对比
查看>>
Executor执行框架
查看>>
[FMX] Android APP 启动黑屏优化补丁
查看>>
常用JavaScript的高级技巧
查看>>
bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘
查看>>
摘抄:Java多线程学习
查看>>
mysql 不同索引的区别和适用情况总结
查看>>
Html5使用canvas作图线宽很粗
查看>>
[转]Ubuntu下ROS开发环境搭建(QT+ros_qtc_plugin)
查看>>
iOS. PercentEscape是错用的URLEncode,看看AFN和Facebook吧
查看>>
day01 认识python变量 数据类型 条件if语句
查看>>
【算法学习笔记】38.最短路问题 SJTU OJ 1105 path
查看>>
MarkDown写blog(测试)
查看>>
36.intellij idea 如何一键清除所有断点
查看>>
EasyUI Menu 菜单
查看>>
61.员工信息管理Extjs 页面
查看>>
软件测试理论
查看>>
画图小工具之重绘
查看>>
Android.mk (1) 函数
查看>>
浅说CPU并行计算与GPU并行计算
查看>>