- 一、前言
- 1.目录
- 2.User实体类
- 3.UserMapper的dao层类
- 4.UserServiceImpl实现类
- 5.UserService接口类
- 6.application.yml配置文件
- 7.pom主要配置
- 二、数据和测试
- 1.数据表
- 2.测试类
- 三、注意事项
一、前言
Springboot集成tk.Mybatis,集成后对于简单的增删改查,可以快速上手节省时间。记录集成过程,方便后期使用。
1.目录 2.User实体类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 = "shiro_user")
public class User implements Serializable {
@Id
private Integer user_id;
@Column(name = "user_name")
private String username;
@Column(name = "password")
private String password;
}
3.UserMapper的dao层类
import com.renjie.entity.User; import tk.mybatis.mapper.common.Mapper; @org.apache.ibatis.annotations.Mapper public interface UserMapper extends Mapper4.UserServiceImpl实现类{ }
import com.renjie.entity.User;
import com.renjie.mapper.UserMapper;
import com.renjie.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List queryUserInfo(String username) {
Example example = new Example(User.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo(username);
return userMapper.selectByExample(example);
}
}
5.UserService接口类
import com.renjie.entity.User;
import java.util.List;
public interface UserService {
List queryUserInfo(String username);
}
6.application.yml配置文件
spring:
datasource:
username: root # 用户名
password: 'root' # 密码
url: jdbc:mysql://localhost:3306/my_test?&useUnicode=true&characterEncoding=UTF-8
driver-class-name: com.mysql.cj.jdbc.Driver
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
filters: stat,wall,log4j
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
mybatis:
mapper-locations: classpath*:mapper/*.xml
type-aliases-package: com.renjie.entity
7.pom主要配置
二、数据和测试 1.数据表org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.projectlombok lombok mysql mysql-connector-java tk.mybatis mapper-spring-boot-starter 2.1.5 com.alibaba druid-spring-boot-starter 1.2.8 tk.mybatis mapper-spring-boot-starter 2.1.5 org.mybatis.spring.boot mybatis-spring-boot-starter 2.2.2
CREATE TABLE `shiro_user` ( `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID', `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID', `user_name` varchar(30) NOT NULL COMMENT '用户账号', `nick_name` varchar(30) NOT NULL COMMENT '用户昵称', `user_type` varchar(2) DEFAULT '00' COMMENT '用户类型(00系统用户)', `email` varchar(50) DEFAULT '' COMMENT '用户邮箱', `phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码', `sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', `avatar` varchar(100) DEFAULT '' COMMENT '头像地址', `password` varchar(100) DEFAULT '' COMMENT '密码', `status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', `login_ip` varchar(128) DEFAULT '' COMMENT '最后登录IP', `login_date` datetime DEFAULT NULL COMMENT '最后登录时间', `create_by` varchar(64) DEFAULT '' COMMENT '创建者', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) DEFAULT NULL COMMENT '备注', PRIMARY KEY (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息表';2.测试类
@SpringBootTest
class RenjieTkMybatisApplicationTests {
@Autowired
private UserService userService;
@Test
void contextLoads() {
System.out.println(userService.queryUserInfo("张三"));
}
}
三、注意事项
- 请求不是很大的时候可以使用,如果请求大需要考虑自己些sql,这样可以方便后期优化
- 快速开发只需要将上面对应的类文件复制到对应目录即可。



