为啥要用tkmybatis :
https://www.cnblogs.com/wz2cool/p/7286377.html
MybatisGenerator + Lombok 自动生成的domain再也没有一堆Getter/Setter方法了
https://www.jianshu.com/p/58ee7e09fc3f
使用流程:
1. pom
<!-- tkmybatis-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>1.1.3</version>
</dependency><!-- generator -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
2.Mapper
package com.zxy.test.security.mapper;
import com.zxy.test.security.entity.User;
import tk.mybatis.mapper.common.Mapper;
public interface UserMapper extends Mapper<User>{ //Mapper接口有很多封装过的方法,不再一定需要mapper.xml
}
3.entity
package com.zxy.test.security.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;import lombok.Data;
@Data
@Table(name = "tb_user")
public class User implements Serializable {private static final long serialVersionUID = 3497935890426858541L;
@Id
private int id;
@Column(name = "user_name")
private String userName;private String password;
//判断账户是否未过期
@Transient
private boolean accountNonExpired = true;//判断账户是否未锁定
@Column(name = "account_non_locked")
private boolean accountNonLocked = true;//密码是否未过期
@Column(name = "credentials_non_Expired")
private boolean credentialsNonExpired = true;//判断用户是否可用
private boolean enabled = true;
}
over 然后直接调用
mybatis genertor自动生成代码
生成的文件有mapper接口 mapper.xml文件跟entity对象
貌似跟上面不需要mapper.xml的tk mybatis不搭嘎 汗 写在一起节约时间吧
pom文件在上面有,然后是genertor xml的内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="prod">
<!-- RowBounds pagination -->
<plugin type="org.mybatis.generator.plugins.RowBoundsPlugin" />
<plugin type="org.mybatis.generator.plugins.CaseInsensitiveLikePlugin" />
<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
<plugin type="org.mybatis.generator.plugins.LombokPlugin" >
<property name="hasLombok" value="true"/>
</plugin>
<commentGenerator>
<property name="suppressDate" value="true" />
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- jdbc连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/securityTest" userId="root"
password="123456" />
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="com.zxy.test.security.entity" targetProject="security/src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
<property name="comments" value="true"/>
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="mybatis.mapper" targetProject="security/src/main/resources">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.zxy.test.security.mapper" targetProject="security/src/main/java">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定数据库表 -->
<table tableName="tb_content" domainObjectName="TbContent"
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false">
<generatedKey column="id" sqlStatement="MySql" identity="true"/>
</table>
</context>
</generatorConfiguration>
比较需要注意的地方是: targetProject:项目名+src/main/resources 生成到资源目录下,然后这边使用的工具是sts4 需要装插件 百度一下吧
......................................
插件装好之后 直接生成就行了