精华内容
下载资源
问答
  • springboot整合tkmapper1.导入pom依赖1.1 导入springboot的parent依赖spring-boot-starter-parentorg.springframework.boot2.1.9.RELEASE1.2 导入具体依赖org.springframework.bootspring-boot-starter-weborg....

    springboot整合tkmapper

    1.导入pom依赖

    1.1 导入springboot的parent依赖

    spring-boot-starter-parent

    org.springframework.boot

    2.1.9.RELEASE

    1.2 导入具体依赖

    org.springframework.boot

    spring-boot-starter-web

    org.springframework.boot

    spring-boot-starter-test

    mysql

    mysql-connector-java

    5.1.32

    com.alibaba

    druid-spring-boot-starter

    1.1.10

    tk.mybatis

    mapper-spring-boot-starter

    2.1.5

    com.github.pagehelper

    pagehelper-spring-boot-starter

    1.2.10

    org.projectlombok

    lombok

    com.alibaba

    fastjson

    1.2.68

    2. 添加tkmapper数据库连接配置

    创建application.yml配置类

    spring:

    datasource:

    type: com.alibaba.druid.pool.DruidDataSource # 连接池指定 springboot2.02版本默认使用HikariCP 此处要替换成Druid

    driver-class-name: com.mysql.jdbc.Driver

    url: jdbc:mysql:///pethome?serverTimezone=Asia/Shanghai&characterEncoding=utf-8

    username: root

    password: qwe123

    druid:

    initial-size: 5 # 初始化时建立物理连接的个数

    min-idle: 5 # 最小连接池连接数量,最小空闲数量

    max-active: 20 # 最大连接池连接数量,最大活跃连接数

    max-wait: 60000 # 配置获取连接等待超时的时间

    timeBetweenEvictionRunsMillis: 60000

    minEvictableIdleTimeMillis: 300000

    validationQuery: SELECT 1

    testWhileIdle: true

    testOnBorrow: true

    testOnReturn: false

    poolPreparedStatements: true

    maxPoolPreparedStatementPerConnectionSize: 20

    filters: stat,wall

    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

    stat-view-servlet:

    allow: 0.0.0.0 # 允许哪些IP访问druid监控界面,多个IP以逗号分隔

    login-username: admin # 设置登录帐号

    login-password: 123456 # 设置登录密码

    reset-enable: false # 是否允许重置数据

    # url-pattern: /database/* # 默认访问根路径是:/druid/;也可以自定义设置

    # mybatis配置

    mybatis:

    configuration:

    map-underscore-to-camel-case: true

    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 设置控制台输入执行的sql语句

    type-aliases-package: org.example.model

    # tkmapper配置

    mapper:

    not-empty: false

    identity: mysql #指定tkmapper加载的数据库

    3. 在启动类上添加扫描注解

    MainApp.java

    import org.springframework.boot.SpringApplication;

    import org.springframework.boot.autoconfigure.SpringBootApplication;

    import tk.mybatis.spring.annotation.MapperScan;

    @SpringBootApplication

    @MapperScan(basePackages = "org.example.mapper")

    public class App {

    public static void main(String[] args) {

    SpringApplication.run(App.class);

    }

    }

    4.tkmapper的使用

    4.1 创建mapper.java

    public interface ProductMapper extends Mapper {

    }

    4.2 创建表对应的实体类TProduct

    @Data

    public class TProduct {

    @Id //指定主键的注解

    private Long id;

    private String name;

    private String resources;

    private Double saleprice;

    private java.util.Date offsaletime;

    private java.util.Date onsaletime;

    private Long state;

    private String costprice;

    private java.util.Date createtime;

    private Long salecount;

    }

    4.3 添加测试类,进行单表的CRUD操作

    @SpringBootTest

    @RunWith(SpringRunner.class)

    public class AppTest {

    @Autowired

    private ProductMapper productMapper;

    @Test//查询所有

    public void findAll(){

    List tProducts = productMapper.selectAll();

    for (TProduct tProduct : tProducts) {

    System.out.println(tProduct);

    }

    }

    @Test

    public void insert(){

    TProduct product = new TProduct();

    product.setName("我是测试的");

    product.setCreatetime(new Date());

    product.setState(1L);

    productMapper.insert(product);

    }

    @Test

    public void updateById(){

    TProduct product = new TProduct();

    product.setId(174L);

    product.setName("我是测试");

    //如果修改时,只想改变更新的name值,其他值不改

    //下面这个方法,是无论修改的值是否为空,将全部修改

    // productMapper.updateByPrimaryKey(product);

    //下面的方法,只改非空的字段.

    //注意:tkmapper中,凡是方法名以Selective结尾的,就是在拼接动态sql

    //即,不更新非空的字段

    product.setCreatetime(new Date());

    productMapper.updateByPrimaryKeySelective(product);

    }

    @Test//删除操作

    public void delete(){

    productMapper.deleteByPrimaryKey(174L);

    }

    4.4 多条件查询和分页查询

    @SpringBootTest

    @RunWith(SpringRunner.class)

    public class QueryTest {

    @Autowired

    private ProductMapper productMapper;

    @Test //根据多条件动态查询

    public void queryByParam(){

    //多条件查询

    Example example = new Example(TProduct.class);

    // //添加第1个条件 name:模糊查询

    // example.and().andLike("name","%洗澡8%");

    //

    // //添加第2个条件 :价格在100以内

    // example.and()

    // .andGreaterThanOrEqualTo("saleprice",0).andLessThanOrEqualTo("saleprice",100);

    //

    // //添加第3个条件:状态 state =1

    // example.and().andEqualTo("state",1);

    //优化Sql中的括号 : 当多个条件如果是 平级,则不用example.and()去追加条件

    Example.Criteria and = example.and();//Criteria对象:就是用于拼接查询条件,每次执行example.and()或者example.or()将都会创建一个新的查询条件的拼接对象(意味着多一组())

    and.andLike("name","%洗澡8%").orEqualTo("state",1);

    //再创建一组新的区间查询条件,这个条件它要加(),所以你要重新通过 example对象获取

    example.and().andGreaterThanOrEqualTo("saleprice",0).andLessThanOrEqualTo("saleprice",100);

    List tProducts = productMapper.selectByExample(example);

    for (TProduct tProduct : tProducts) {

    System.out.println(tProduct);

    }

    }

    @Test //分页查询

    public void queryByPage(){

    //不带条件的分页查询

    //如果要进行分页查询,只需在调用查询的方法前,设置分页参数即可

    //特点注意:当前设置的分页参数,只适用于离它最近的这条查询

    PageHelper.startPage(1,3);

    //List tProducts = productMapper.selectAll();

    PageInfo pageInfo = new PageInfo<>(productMapper.selectAll());

    /*

    pageInfo中的常用的方法:

    总记录数:pageInfo.getTotal()

    总页数:pageInfo.getPages()

    每页的数据列表:pageInfo.getList()

    */

    System.out.println(pageInfo);

    }

    4.5 添加数据后,立马得到添加数据的主键

    当前这个主键是由数据库进行【自增长】设置的

    在实体类的主键ID上添加如下配置

    public class TProduct {

    @Id //指定主键的注解

    @GeneratedValue(strategy= GenerationType.IDENTITY)

    private Long id;

    在需要获取的地方,直接调用get方法即可

    @Test //添加新数据后,获取 自增长主键

    public void insertAndGetId(){

    TProduct product = new TProduct();

    product.setName("我是测试的");

    product.setCreatetime(new Date());

    product.setState(1L);

    productMapper.insert(product);

    System.out.println(product.getId());

    }

    到此这篇关于springboot2.x整合tkmapper的文章就介绍到这了,更多相关springboot2.x整合tkmapper内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    展开全文
  • TkMapper(通用mapper)

    2020-01-15 15:36:42
    TkMapper的配置及使用   TkMapper主要是做单标查询,复杂的多表查询我们还得自己写sql。 使用的是Springboot框架 使用的数据库表ums_permision: id pid name value icon type uri status create_time sort...
    TkMapper的配置及使用

      TkMapper主要是做单标查询,复杂的多表查询我们还得自己写sql。

    • 官方文档:
      点击查看
    • 使用的是Springboot框架
    • 使用的数据库表ums_permision:
    id pid name value icon type uri status create_time sort
    1 0 商品 null null 0 null 1 2018-09-29 16:15:14 0
    2 1 商品列表 pms:product:read null 1 /pms/product/index 1 2018-09-29 16:17:01 0
    3 1 添加商品 pms:product:create null 1 /pms/product/add 1 2018-09-29 16:18:51 0
    • 对应的pojo对象:
    package com.sxykj.ymall.user.bean;
    
    
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import java.util.Date;
    
    
    public class UmsPermission {
    
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private Integer id;
      private Long pid;
      private String name;
      private String value;
      private String icon;
      private Integer type;
      private String uri;
      private Integer status;
      private Date createTime;
      private Integer sort;
      
      //省略getter和setter方法
      
    }
    
    

    一、TkMapper依赖及配置

    1、在pom文件中引入TkMapper依赖:

    <dependency>
    	<groupId>tk.mybatis</groupId>
    	<artifactId>mapper-spring-boot-starter</artifactId>
    	<version>2.0.2</version>
    </dependency>
    

    2、在Application类上加注解@MapScan(“com.sxykj.ymall.user.mapper”),这个注解依赖的包一定是tk开头的(tk.mybatis.spring.annotation.MapperScan;)。
    3、映射类extends 通用Mapper
    4、配置pojo类中的属性:

    • 1> 表名默认使用类名,驼峰转下划线(只对大写字母进行处理),如UserInfo默认对应的表名为user_info。
    • 2> 对不符合第一条默认规则的,表名可以使用@Table(name = “tableName”)进行指定。
    • 3> 表字段默认为这个类的属性名字驼峰转下划线形式。
    • 4> 可以使用@Column(name = “fieldName”)指定不符合第3条规则的字段名。
    • 5> 使用@Transient注解可以忽略字段,添加该注解的字段不会作为表字段使用。
    • 6> 一定有一个@Id注解作为主键的字段,可以有多个@Id注解的字段作为联合主键。
    • 7> 对于主键自增的需要加上主键策略,@GenerateValue(strategy=GenertationType.IDENTITY)或
      @KeySql(useGeneratedKeys = true)。这里有个链接讲的比较详细:https://blog.csdn.net/lyf_ldh/article/details/81041141
    • 注意:TkMapper的pojo类要用包装类型
      其他各层大家根据各自情况自行编写。
    二、简单方法使用

        我这里就直接演示Tk的方法使用了。
    在这里插入图片描述
    1、selectOne(T):通过pojo对象,查询一条数据

    • 参数:UmsPeimision对象
    • 返回值:UmsPeimision对象

    2、select(T):通过pojo对象,查询一组数据

    • 参数:UmsPeimision对象
    • 返回值:List<UmsPeimision>

    3、selectAll():查询所有

    • 参数:无
    • 返回值:List<UmsPeimision>

    4、selectCount(T):通过pojo对象,查询该数据的条数

    • 参数:int
    • 返回值:List<UmsPeimision>

    5、selectByPrimaryKey(Object):通过主键,查询数据

    • 参数:主键
    • 返回值:UmsPeimision对象

    6、existsWithPrimaryKey(Object):通过主键,查询数据是否存在

    • 参数:主键
    • 返回值:boolean

    7、insert(T):通过pojo对象, 插入对象

    • 参数:UmsPeimision对象
    • 返回值:int
    • 所有的字段都会添加一遍即使没有值

    8、insertSelective(T):通过pojo对象, 插入对象

    • 参数:UmsPeimision对象
    • 返回值:int
    • 只给有值的字段赋值

    9、updateByPrimaryKey(T):通过pojo对象主键, 更新对象

    • 参数:UmsPeimision对象
    • 返回值:int
    • 所有的字段都会更新一遍即使没有值

    10、updateByPrimaryKeySelective(T):通过pojo对象主键, 更新对象

    • 参数:UmsPeimision对象
    • 返回值:int
    • 只给有值的字段更新

    11、delete(T):通过pojo对象, 删除对象

    • 参数:UmsPeimision对象
    • 返回值:int

    12、deleteByPrimaryKey(Object):通过主键, 删除对象

    • 参数:主键
    • 返回值:int
    三、Example方法使用

        创建一个Example实例,有很多方法,简单的单条件查询,还可以创建条件对象,example.createCriteria()来添加其他条件,根据查询需求条件对象可以添加多个。

    1、简单条件:使用Example

    • 1> 先创建Example对象

      Example example = new Example(UmsPermission.class); //创建Example对象
      
    • 2> 选择使用的方法:(常用方法)

      方法 解释
      selectProperties(“id”,“pid”…) 选择查询的列,select id , pid …
      excludeProperties(“name”,“icon”) 排除查询的列,结果不显示
      and().andEqualTo(“id”,4) 等值查询,and id = 4
      and().andLike(“pid”,"%5%") 模糊查询:and pid like %5%
      and().andBetween(“id”, 5, 8) 区间查询:and (id betewwn 5 and 8)
      and().andGreaterThan(“id”, 18) 大于查询:and (id > 18)
      and().andGreaterThanOrEqualTo(“id”, 18) 大于等于查询:and (id >= 18)
      and().andLessThan(“id”, 18) 小于查询:and (id < 18)
      and().andLessThanOrEqualTo(“id”, 18) 小于等于查询:and (id <= 18)
      orderBy(“pid”) 排序,order by pid,默认为ASC
      orderBy(“pid”).desc() 逆序排序
      and().andIsNull(“name”) 空条件:and name is null
      其他方法自行研究

      例如:

      example.and().andEqualTo("pid", 4);
      
    • 3> 将Example对象传入Example方法

       List<UmsPermission> umsPermissions1 
           = umsPermissionMapper.selectByExample(example);
      

    2、多条件查询:

    • 1> 先创建Example对象,并添加条件

      Example example = new Example(UmsPermission.class); //创建Example对象
      example.and().andEqualTo("pid", 4); //添加条件 pid = 4
      
    • 2> 创建条件对象,并添加条件

      Example.Criteria criteria1 = example.createCriteria(); //创建条件对象
      criteria1.andEqualTo("type", 2); //添加条件 type = 2
      example.and(criteria1); //将条件对象添加到example实例
      
        Criteria的方法参照Example的,条件对象可创建多个
      
    • 3> 将Example对象传入Example方法

       List<UmsPermission> umsPermissions1 
           = umsPermissionMapper.selectByExample(example);	
      

    3、其他的一些ByExample方法:

    • 1> selectByExample:通过Example对象,查询一组数据

      • 参数:Example对象
      • 返回值:List<UmsPeimision>
    • 2> selectOneByExample:通过Example对象,查询一条数据

      • 参数:Example对象
      • 返回值:UmsPeimision对象
    • 3> selectCountByExample:通过Example对象,查询该数据的条数

      • 参数:Example对象
      • 返回值:int
    • 4> deleteByExample:通过Example对象,删除对象

      • 参数:Example对象
      • 返回值:int
    • 5> updateByExample:通过Example对象,更新对象

      • 参数:Example对象
      • 返回值:int
      • 所有的字段都会更新一遍即使没有值
    • 6> updateByExampleSelective:通过Example对象,更新对象

      • 参数:Example对象
      • 返回值:int
      • 只给有值的字段更新

    后面一些分页查询方法没有演示,请参考另一篇文章,PageHelper分页助手的使用

    展开全文
  • SpringBoot 整合TKMapper

    2019-02-26 16:08:11
    TKMapper入门说明优势添加依赖添加插件application.yml 配置MapperScan开始使用源码地址 说明 TKMapper(通用mapper,以下简称tk)。 由于TKMapper有以下特性,值得研究是否有必要引入作公司内部框架,提高开发效率 ...

    说明

    TKMapper(通用mapper,以下简称tk)。
    由于TKMapper有以下特性,值得研究是否有必要引入作公司内部框架,提高开发效率

    优势

    1、 不再需要用户手写单表的CRUD
    2、 相比于公司的工具,不再需要生成单表的Example相关的类,精简了代码
    3、 提供MBG工具生成实体类和简单的Mapper和xml,这个Mapper和Xml内用户可以添加自己的sql代码

    添加依赖

    <!-- mysql驱动 -->
    <dependency>
    	<groupId>mysql</groupId>
    	<artifactId>mysql-connector-java</artifactId>
    	<version>5.1.34</version>
    </dependency>
    <!-- mybatis -->
    <dependency>
    	<groupId>org.mybatis.spring.boot</groupId>
    	<artifactId>mybatis-spring-boot-starter</artifactId>
    	<version>2.0.0</version>
    </dependency>
    <!-- tk-mapper -->
    <dependency>
    	<groupId>tk.mybatis</groupId>
    	<artifactId>mapper-spring-boot-starter</artifactId>
    	<version>2.0.4</version>
    </dependency>
    <!-- lombok -->
    <dependency>
    	<groupId>org.projectlombok</groupId>
    	<artifactId>lombok</artifactId>
    </dependency>
    <!-- 分页插件 -->
    <dependency>
    	<groupId>com.github.pagehelper</groupId>
    	<artifactId>pagehelper-spring-boot-starter</artifactId>
    	<version>1.2.10</version>
    </dependency>
    <dependency>
    	<groupId>com.github.pagehelper</groupId>
    	<artifactId>pagehelper</artifactId>
    	<version>5.1.7</version>
    </dependency>
    

    添加插件

    <!--添加mybatis generator maven插件 -->
    <plugin>
    	<groupId>org.mybatis.generator</groupId>
    	<artifactId>mybatis-generator-maven-plugin</artifactId>
    	<version>1.3.2</version>
    	<configuration>
    		<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
    		<overwrite>true</overwrite>
    		<verbose>true</verbose>
    	</configuration>
    	<dependencies>
    		<dependency>
    			<groupId>mysql</groupId>
    			<artifactId>mysql-connector-java</artifactId>
    			<version>${mysql.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>tk.mybatis</groupId>
    			<artifactId>mapper-generator</artifactId>
    			<version>1.1.3</version>
    		</dependency>
    	</dependencies>
    </plugin>
    

    application.yml 配置

    server:
      port: 8888
    spring:
      application:
        name: demo
      datasource:
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://192.168.216.128:3306/wenjunDB?useSSL=false
        username: root
        password: 123456
    mybatis:
      configuration:
        map-underscore-to-camel-case: true
    mapper:
      identity: MYSQL # 配置主键自动增长(使用MYSQL原生方式)
    logging:
      level:
        com.example.demo.web: debug
        
    # 分页插件
    pagehelper:
      reasonable: true
      page-size-zero: true
      params: pageNum=start;pageSize=limit
      support-methods-arguments: true
    

    MapperScan

    本文采用扫描packages的方式,或者也可以在生成的注解上使用@Mapper()注解。

    @SpringBootApplication
    @MapperScan(basePackages = {"com.example.demo.web.mapper"})
    public class DemoApplication {
    	public static void main(String[] args) {
    		SpringApplication.run(DemoApplication.class, args);
    	}
    }
    
    

    开始使用

    以上环境搭建好之后,可以开始着手使用MBG生成代码。

    • 创建通用的Mapper接口
    public interface DemoBaseMapper<T> extends BaseMapper<T>, ExampleMapper<T>, MySqlMapper<T> {
    
    }
    
    • 进入项目目录,运行mvn mybatis-generator:generate -e生成实体类和Mapper文件
    @Data
    @Table(name = "`UserTable`")
    public class Usertable implements Serializable {
        @Id
        @Column(name = "`id`")
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Integer id;
    
        @Column(name = "`name`")
        private String name;
       
    }
    
    <!--接口 内容 -->
    public interface UsertableMapper extends DemoBaseMapper<Usertable> {
    
    	/**
    	 * 此方法由用户自定义, 同步需要在xml中添加相应的sql,或者使用注解
    	 * 
    	 * @return
    	 */
    	@Select("select * from UserTable where name like CONCAT('%',#{name},'%')")
    	public Usertable getUserByName(@Param("name") String name);
    }
    <?xml version="1.0" encoding="UTF-8" ?>
    
    <!--xml 内容 -->
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="com.example.demo.web.mapper.UsertableMapper" >
      <resultMap id="BaseResultMap" type="com.example.demo.web.domain.Usertable" >
        <id column="id" property="id" jdbcType="INTEGER" />
        <result column="name" property="name" jdbcType="VARCHAR" />
        <result column="descrip" property="descrip" jdbcType="VARCHAR" />
        <result column="deleteflag" property="deleteflag" jdbcType="CHAR" />
        <result column="createtime" property="createtime" jdbcType="TIMESTAMP" />
        <result column="updatetime" property="updatetime" jdbcType="TIMESTAMP" />
        <result column="creater" property="creater" jdbcType="INTEGER" />
        <result column="updater" property="updater" jdbcType="INTEGER" />
      </resultMap>
    </mapper>
    

    以上就可以使用了,但是需要注意以下几点
    1、 数据库采用的是mysql数据,主键id自动增长模式,所以新建数据时,id不需要用户传递,框架会自动更新改id到当前最大id+1
    2、 MBG插件的url配置需要加上?nullCatalogMeansCurrent=true,否则自增失效
    3、 Mapper接口一经生成,就算表结构变更都无需再生成,否则里面自定义的方法会被覆盖掉
    4、 分页插件默认会对代码顺序下的第一条sql执行分页逻辑

    <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
    			connectionURL="jdbc:mysql://192.168.216.128:3306/wenjunDB?nullCatalogMeansCurrent=true" userId="root"
    			password="123456">
    </jdbcConnection>
    

    源码地址

    展开全文
  • SpringBoot集成TKMapper

    2020-08-21 17:20:52
    tkmapper是mybatis的一款好用的插件

    SpringBoot集成TKMapper

    创建SpringBoot工程

    导入依赖

    <!-- 通用Mapper插件文档地址:https://gitee.com/free/Mapper/wikis/Home -->
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-spring-boot-starter</artifactId>
                <version>2.0.2</version>
            </dependency>
     
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    

    创建mapper和bean

    这里我使用了在这里插入图片描述

    这个插件,非常好用https://gejun123456.github.io/MyBatisCodeHelper-Pro/#/
    在这里插入图片描述

    生成完就是这个样子

    mapper:

    @org.apache.ibatis.annotations.Mapper
    public interface StudentMapper extends Mapper<Student> {
    
    }
    

    bean:

    import javax.persistence.*;
    
    @Table(name = "student")
    public class Student {
        @Id
        @Column(name = "id")
        @GeneratedValue(generator = "JDBC")
        private Integer id;
    
        @Column(name = "`name`")
        private String name;
    
        /**
         * @return id
         */
        public Integer getId() {
            return id;
        }
    
        /**
         * @param id
         */
        public void setId(Integer id) {
            this.id = id;
        }
    
        /**
         * @return name
         */
        public String getName() {
            return name;
        }
    
        /**
         * @param name
         */
        public void setName(String name) {
            this.name = name;
        }
    }
    

    xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.danzle.customannotation.mapper.StudentMapper">
      <resultMap id="BaseResultMap" type="com.danzle.customannotation.entity.Student">
        <!--@mbg.generated generated on Fri Aug 21 17:06:33 CST 2020.-->
        <!--@Table student-->
        <id column="id" jdbcType="INTEGER" property="id" />
        <result column="name" jdbcType="VARCHAR" property="name" />
      </resultMap>
      <sql id="Base_Column_List">
        <!--@mbg.generated generated on Fri Aug 21 17:06:33 CST 2020.-->
        id, `name`
      </sql>
    </mapper>
    

    加入配置

    
    spring:
      datasource:
        url: jdbc:mysql://xxx:3306/zsh?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
        username: root
        password: xxx
        driver-class-name: com.mysql.cj.jdbc.Driver
    mybatis:
      mapper-locations: classpath:mapper/*.xml
      type-aliases-package: com.danzle.customannotation.entity
      configuration:
        map-underscore-to-camel-case: true
    mapper:
      identity: mysql
      not-empty: true
      enum-as-simple-type: true
    
    server:
      port: 9999
    

    启动类上加入@MapperScan_("xxx.mapper") 注意:要导入_import tk.mybatis.spring.annotation.MapperScan; 这个包下的

    custom-annotation.zip 附上源码资料

    展开全文
  • TK mapper与 PageHelper

    2019-12-24 14:59:40
    TKmapper(通用Mapper)和MPmapepr(MyBatis-Plus)是mybatis两大插件,功能相同,都提供了常规的增删改查操作,增强mybatis的功能,篇幅有限,文章仅说下两者的区别! PageHelper是一个分页插件 目录 TKmapper 1.Spring ...
  • SpringBoot集成TkMapper

    千次阅读 2018-10-15 17:49:15
    springboot集成TkMapper 简化持久层法人代码熟悉,提高开发效率; 先给大家截个图看一下效果 这就是效果!! 是不是感觉很爽。(TkMapper对单表的操作很方便的) 下来我们进入正题, 第一步:Pom 文件中加载 jar ...
  • 1、tkMapper代码结构 1.1、po 实体层 用到了四个注解: 1、@Table:这个就是你数据库的表名 2、@Id:该表的主键对应的对象属性 3、@Getter、@Setter:免去get/set方法 import lombok.Getter; import lombok.Setter; ...
  • mybatis tkMapper使用

    万次阅读 2018-05-21 12:02:18
    ----------------------------------------------------------------------------------------------------------------------------------一、设置TkMapper单独放在一个包:这个包只有TkMapper一个文件import tk....
  • SpringBoot整合tkMapper

    千次阅读 2018-09-12 16:58:42
    SpringBoot整合tkMapper 项目使用SpringBoot2.0,H2数据库,使用了 Lombok 简化代码;本人是刚入门的菜鸟,下面是本人使用SpringBoot整合tkMapper的一个小demo,记录下来本人在此处踩得坑,有需要修正的地方欢迎...
  • tk Mapper原理分析

    2019-09-27 19:33:26
     Mybatis支持@SelectProvider注解,tk Mapper正是运用了该技术,通过解析持久类,拼接xml形式的SQL语句,重新为MappedStatment设置SqlSource实现功能。 核心配置 <bean class="tk.mybatis.spring.mapper....
  • TkMapper回显主键

    2019-12-18 11:41:04
    在pom文件中导入tkmapper主键 在实体类上声明主键 在业务层这样写: 这是错误的,返回的是影响的行数,应该直接使用实体类对象.get主键
  • MyBatis_tkmapper

    千次阅读 2017-09-06 15:06:28
    在项目中使用MBG,tkmapper和pageHelper可以极大的提高开发效率,单表的增删改查都可以很方便的实现本文参考:maven的generatorConfig.xml文件详解:http://git.oschina.net/free/Mapper本文以idea+maven+mysql作为...
  • springboot + tkmapper

    2019-07-01 16:04:13
    基本 ...-- tkmapper --> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.0...
  • springboot2.整合tkmapper入门

    千次阅读 2019-01-21 20:49:38
    ...这里只需要引入tkmapper的依赖就可以,tkmapper帮我们 &lt;!-- 通用Mapper插件文档地址:https://gitee.com/free/Mapper/wikis/Home --&gt; &lt;dependency&gt; &l...
  • tkmapper 如何使用 EnumOrdinalTypeHandler   spring boot application.properties 文件里面 写上这些就行了   mapper.notEmpty=true mapper.use-simple-type=true ## 允许bean 接受 除基本类型外的对象 ...
  • TkMapper扫描包的坑

    千次阅读 2018-08-10 15:01:59
    Exception :tk.mybatis.mapper.provider.base....使用tkMapper通用mapper时, 必须修改MapperScannerConfigurer的扫描类,使用tk.mybatis下的tk.mybatis.spring.mapper.MapperScannerConfigurer &lt;!--...
  • tkMapper简介通用Mapper都可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。结合Maven mybatis generator插件可以很方便的生成mybatis源码极其方便的使用MyBatis...
  • 在[上一篇文章](https://blog.csdn.net/Kube_/article/details/105496180)中我们已经使用了tkMapper插件,集成了一些自动生成的代码,已经能够满足大部分的增删改查,但还是有些操作,比如模糊查询,批量更新等操作...
  • 关于tkmapper的基础操作(环境搭建篇) 序言 这些年,随着WEB应用的广泛应用,开发WEB的技术也在日新月异的更新。其中,JAVA语言以其跨平台,垃圾回收等优秀特性,SSH、SSM等框架简化开发流程,成为WEB端的霸主。...
  • 使用TKMapper主键的坑

    千次阅读 2018-07-23 10:40:51
    使用TKMapper通用Mapper时一定声明主键,否则selectByPrimaryKey会查询所有的实体参数,一定要导入import javax.persistence.Id;不要导成import org.springframework.data.annotation.Id;...
  • springboot2.x整合tkmapper

    2021-01-02 12:59:19
    springboot整合tkmapper 1.导入pom依赖 1.1 导入springboot的parent依赖 <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId...
  • 一、开场白 ... 用到了tkMapper的方便性 3. 还加入了generator进行mapper,xml,model的生成 4. mapper和xml在同一目录,方便管理 二、实际开发 1. 我们先搭建一个springboot的项目,这个就不...
  • [TOC]只能说用这个太爽了!!!贴上官网地址:[http://mybatis.org/generator/running/runningWithMaven.html](http://mybatis.org/generator/running/runningWithMaven.html... pom.xml文件添加依赖~~~tk.mybatismapper...
  • springboot2.1.9整合tkMapper。不是第一次整合了。上一次整合,就没出现这个问题。 这一次,就出来了。配置完全一样,依赖也一样。 之所以说无效,是在启动类上加了tkMapper的@MapperScan注解,但是扫描不到dao层的...
  • tkmapper insertList 报错:DuplicateKeyException: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry 问题描述:从业务角度看,定时任务每日初始化数据部分成功部分失败,成功的数据中有部分...
  • tk mapper 通用mapper的bug

    千次阅读 2018-03-14 12:42:42
    tk.mybatis.spring.mapper.MapperScannerConfigurer"&gt; &lt;property name="basePackage" value="com.isea533.mybatis.mapper"/&gt; &lt;property name="...
  • SpringBoot继承TkMapper通用Mapper

    千次阅读 2017-12-21 10:40:40
    MyBatis通用Mapper提供了基本的CRUD的api , 省略了写大量基础代码甚至高级代码的时间 , 方便快捷 , 提升工作效率 . 可以参考通用Mapper文档 SpringBoot集成通用Mapper , 首先也是添加依赖 org.mybatis ...
  • 项目中用的是TkMapper,业务变动需配置多数据源. 同样配置MapperScan扫描 按照之前的惯例配置多个Datasource,测试时报错 bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table 'mysql...
  • 1、数据库与实体类映射 tkmapper在字段进行映射的时候会把实体类中的大写字母转换成_+小写字母去数据库中查询,所以修改数据库中luckeyCount为luckey_count即可。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,773
精华内容 709
关键字:

tkmapper