用Mapper: ---tkMapper

7 篇文章 0 订阅
5 篇文章 0 订阅

引入依赖:

导入依赖


 <!--tkMapper整合mybatis+SpringBoot-->
		<dependency>
   			<groupId>tk.mybatis</groupId>
   			<artifactId>mapper-spring-boot-starter</artifactId>
    		<version>2.1.5</version>
		</dependency>

       <!--tkMapper整合mybatis-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
            <version>3.1.2</version>
        </dependency>
      

配置:

一、设置TkMapper和GukeMapper放在一个包中


import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface TkMapper<T> extends Mapper<T>, MySqlMapper<T> {
}

GukeMapper继承TkMapper使用


public interface GukeMapper extends TkMapper<Guke>{
}

数据库对应实体类:


import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
@Table(name = "表名")
public class Guke{
	//主键自动驼峰映射
	@Id     //主键ID 表中字段 test_id
//    @GeneratedValue(strategy = GenerationType.AUTO)//自动根据底层数据库切换主键生成策略
    
    @GeneratedValue(strategy = GenerationType.IDENTITY)//使用mysql的主键生成策略
//    @GeneratedValue(strategy = GenerationType.SEQUENCE)//使用Oracle的主键生成策略
    private Integer id;
    
	private String testId;  
	@Id     //主键ID 表中字段 test_no
	private String testNo;
	@Column(name = "name_no")
	private String nameNo;
	get/set
}

四、在启动类添加扫描TestMapper


@tk.mybatis.spring.annotation.MapperScan("com.swhysc.mapper.*")

常用方法和注意事项:


 public interface BaseMapper<T> extends tk.mybatis.mapper.common.BaseMapper<T>, IdsMapper<T>, MySqlMapper<T>, OracleMapper<T> {

 }

注:为了演示所以同时引用了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注解的字段作为联合主键。
  7. //主键自动驼峰映射
    @Id //主键ID 表中字段 test_id
    // @GeneratedValue(strategy = GenerationType.AUTO)//自动根据底层数据库切换主键生成策略
    @GeneratedValue(strategy = GenerationType.IDENTITY)//使用mysql的主键生成策略
    // @GeneratedValue(strategy = GenerationType.SEQUENCE)//使用Oracle的主键生成策略
    private Integer id;
    所有的mapper继承此类将具有以下通用方法
    查询方法

BaseSelectMapper下的通用方法

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

SelectByIdsMapper下的通用方法

方法名称作用
List selectByIds(String var1);通过多个主键查询数据

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值