TkMybatis的常用方法介紹
使用
public interface BaseMapper<T> extends tk.mybatis.mapper.common.BaseMapper<T>, IdsMapper<T>, MySqlMapper<T>, OracleMapper<T> {
}
pom.xml引入
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
注:為了演示所以同時引用了MySqlMapper和OracleMapper 正常情況是只能引用一種因為他們有一個相同的方法insertList(List<T> list)
泛型(實體類)<T>的類型必須符合要求
實體類按照如下規(guī)則和數(shù)據(jù)庫表進行轉(zhuǎn)換,注解全部是JPA中的注解:
- 表名默認使用類名,駝峰轉(zhuǎn)下劃線(只對大寫字母進行處理),如UserInfo默認對應的表名為user_info。
- 表名可以使用@Table(name = “tableName”)進行指定,對不符合第一條默認規(guī)則的可以通過這種方式指定表名。
- 字段默認和@Column一樣,都會作為表字段,表字段默認為Java對象的Field名字駝峰轉(zhuǎn)下劃線形式继准。
- 可以使用@Column(name = “fieldName”)指定不符合第3條規(guī)則的字段名。
- 使用@Transient注解可以忽略字段,添加該注解的字段不會作為表字段使用修赞。
- 建議一定是有一個@Id注解作為主鍵的字段,可以有多個@Id注解的字段作為聯(lián)合主鍵哥童。
所有的mapper繼承此類將具有以下通用方法
查詢方法
BaseSelectMapper下的通用方法
方法名稱 |
作用 |
List<T> selectAll(); |
查詢?nèi)繑?shù)據(jù) |
T selectByPrimaryKey(Object key); |
通過主鍵查詢 |
T selectOne(T record); |
通過實體查詢單個數(shù)據(jù) |
List<T> select(T record); |
通過實體查詢多個數(shù)據(jù) |
int selectCount(T record); |
通過實體查詢實體數(shù)量 |
boolean existsWithPrimaryKey(Object key); |
通過主鍵查詢此主鍵是否存在 |
SelectByIdsMapper下的通用方法
方法名稱 |
作用 |
List<T> selectByIds(String var1); |
通過多個主鍵查詢數(shù)據(jù) |
添加方法
BaseInsertMapper下的通用方法
方法名稱 |
作用 |
int insert(T record); |
全部添加 |
int insertSelective(T record); |
選擇性(不為null)的添加 |
MySqlMapper下的通用方法
方法名稱 |
作用 |
int insertList(List<T> list); |
批量插入 |
int insertUseGeneratedKeys(T record); |
如果主鍵為自增可使用此方法獲取添加成功的主鍵 |
OracleMapper下的通用方法
方法名稱 |
作用 |
int insertList(List<T> list); |
批量插入 |
修改方法
BaseUpdateMapper下的通用方法
方法名稱 |
作用 |
int updateByPrimaryKey(T record); |
按照實體進行修改 |
int updateByPrimaryKeySelective(T record); |
按照實體進行有選擇的修改 |
刪除方法
BaseDeleteMapper下的通用方法
方法名稱 |
作用 |
int delete(T record); |
按照實體進行刪除 |
int deleteByPrimaryKey(Object o); |
按照主鍵進行刪除 |
IdsMapper下的通用方法
方法名稱 |
作用 |
int deleteByIds(String var1); |
按照主鍵批量刪除 |