tkmybatis基础使用+mybatis generator #工具

为啥要用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 需要装插件 百度一下吧

......................................

插件装好之后 直接生成就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值