大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
Springboot整合TKMapper
使用TKMapper无需再创建mapper.xml文件
首先基于springboot完成对MyBatis的整合,然后再对TKMapper进行整合
1 创建springboot项目
勾选必要的依赖
整合mybatis
引入了mybatis的依赖,就需要配置数据库,创建 application.yml文件
spring:
datasource:
url: jdbc:mysql://192.168.1.2:3306/learn_tkmapper?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.jdbc.Driver
username: root
password: root
mybatis:
mapper-locations: classpath:mappers/*Mapper.xml
type-aliases-package: com.joseph.entity
创建entity包
创建dao包
在启动类上添加dao的扫描注解 @MapperScan(“com.joseph.dao”)
package com.joseph;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.joseph.dao")
public class TkmapperLearnApplication {
public static void main(String[] args) {
SpringApplication.run(TkmapperLearnApplication.class, args);
}
}
至此,mybatis整合完成
3 整合tkmapper
1 添加tkmapper依赖
<!-- https://mvnrepository.com/artifact/tk.mybatis/mapper-spring-boot-starter -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
2 把启动类的扫描注解换成tkmapper的扫描注解
@MapperScan(“com.joseph.dao”)
import tk.mybatis.spring.annotation.MapperScan;
4 TKMapper的使用
单表的使用
- 担保操作的方法
- 逆向生成
创建数据库的过程略
1 创建users表
CREATE TABLE `users` (
`user_id` int(64) NOT NULL AUTO_INCREMENT COMMENT '主键id 用户id',
`username` varchar(32) NOT NULL COMMENT '用户名 用户名',
`password` varchar(64) NOT NULL COMMENT '密码 密码',
`nickname` varchar(32) DEFAULT NULL COMMENT '昵称 昵称',
`realname` varchar(128) DEFAULT NULL COMMENT '真实姓名 真实姓名',
`user_img` varchar(1024) NOT NULL COMMENT '头像 头像',
`user_mobile` varchar(32) DEFAULT NULL COMMENT '手机号 手机号',
`user_email` varchar(32) DEFAULT NULL COMMENT '邮箱地址 邮箱地址',
`user_sex` char(1) DEFAULT NULL COMMENT '性别 M(男) or F(女)',
`user_birth` date DEFAULT NULL COMMENT '生日 生日',
`user_regtime` datetime NOT NULL COMMENT '注册时间 创建时间',
`user_modtime` datetime NOT NULL COMMENT '更新时间 更新时间',
PRIMARY KEY (`user_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户'
2 创建实体类
表明与实体类名称不一致时,用一下注解进行指定
@Table(name = “users”)//指定表名称
package com.joseph.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "users")//指定表名称
public class User {
private Integer userId;
private String username;
private String password;
private String nickname;
private String realname;
private String userImg;
private String userMobile;
private String userEmail;
private String userSex;
private Date userBirth;
private Date userRegtime;
private Date userModtime;
}
3 创建DAO接口,并且继承Mapper、MySqlMapper两个接口,并添加对应操作对象的泛型
package com.joseph.dao;
import com.joseph.entity.User;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface UserDAO extends Mapper<User>, MySqlMapper<User> {
}
4 测试tkMapper
单元测试
需要添加的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
TKMapper中提供的常用方法
一个小技巧
- 新建一个general包,并且创建GeneralDAO接口,让这个接口继承Mapper、MySqlMapper两个接口,并添加对应操作对象的泛型。
- 同时,不能让TKMapper扫描到这个接口。
未完待续
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188038.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...