一、前言
大家在使用mybatis时,需要自己在写一下xml中书写一些sql代码,非常麻烦,当然也可以使用mybatis-plus来实现不用书写sql.不过最近看到公司项目中有使用tk.mybatis的,和mybatis-plus是有异曲同工之妙的,所有小编带大家配置和使用一下常用方法来体验一下!!
二、配置信息
- 首先我们先把pom文件的依赖导入进来:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</dependency>
<!-- Druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.16</version>
</dependency>
<!--jdbc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!--通用mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
<!-- 持久化包,与orm框架结合使用 -->
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
</dependency>
</dependencies>
- 接下来配置yml文件
server:
port: 8089
spring:
datasource:
#使用阿里的Druid
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql:///test?serverTimezone=UTC
username: root
password: root
#执行的sql会在控制台打印
logging:
level:
com.wang.test.demo: DEBUG
- 开始实体类的书写
package com.wang.test.demo.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "user")//对应到表名字
public class User implements Serializable {
@Id//对应表的主键
private Integer id;//必须用包装类,不然插入不到数据库中
@Column(name = "Name")//解决实体类和数据库字段不一致问题
private String name;
private Integer age;
}
- 开始书写mapper接口
package com.wang.test.demo.mapper;
import com.wang.test.demo.entity.User;
import tk.mybatis.mapper.common.Mapper;
//最好直接继承Mapper<T>,继承BaseMapper<T>条件查询还要继承ExampleMapper<T>
public interface UserMapper extends Mapper<User> {
}
三、测试
直接在controller中写一个方法来测试:
代码语言:javascript复制User user = new User();
user.setId(1);
User user1 = userMapper.selectByPrimaryKey(user);//根据主键查询出一条
四、结束
这样就可以使用tk.mybatis的所有方法,谢谢大家的观看,有什么问题可以提出来哦!
想看tk.mybatis常用方法的可以看一下: 直通车---> tk.mybatis常用方法
Q.E.D.