文章目录
- 一、前言
-
- 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; /** * @Author: gjc * @createTime: 2022年07月13日 19:46:44 */ @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; /** * @Author: gjc * @createTime: 2022年07月13日 19:52:38 */ @org.apache.ibatis.annotations.Mapper public interface UserMapper extends Mapper<User> {
}
4.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
;
/** * @Author: gjc * @createTime: 2022年07月13日 19:55:58 */ @Service public class UserServiceImpl implements UserService
{
@Autowired private UserMapper userMapper
; @Override public List
<User
>
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;
/** * @Author: gjc * @createTime: 2022年07月13日 19:55:17 */
public interface UserService {
List<User> 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主要配置
<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>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--通用mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>
<!-- 通用mapper -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
</dependencies>
二、数据和测试
1.数据表
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,这样可以方便后期优化
- 快速开发只需要将上面对应的类文件复制到对应目录即可。