springboot集成tkmapper及基本使用教程

目录
  • 一. 简介
  • 二、集成mybatis&tkmapper
    • 2.1、所需依赖
    • 2.2、配置yml
    • 2.3、主启动类上加注解扫描
  • 三、基本使用
    • 3.1、创建BaseMapper接口
    • 3.2、entity实体层
    • 3.3、mapper持久层
    • 3.4、service服务层
  • 四、测试
  • 五、注意:
  • 参考资料
  • SpringBoot使用tkmapper
    • 1.加载依赖
    • 2.引入逆向工程的插件
    • 3.插件配置文件
    • 4.错误

一. 简介

tkMapper是⼀个MyBatis插件,是在MyBatis的基础上提供了很多工具,让开发变得简单,提高开发效率。

  • 提供了针对单表通用的数据库操作方法
  • 逆向工程(根据数据表生成实体类、mapper接口、映射文件)这里不做介绍

二、集成mybatis&tkmapper

2.1、所需依赖

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>

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

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

2.2、配置yml

spring:
  datasource:
      driverClassName: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
      username: root
      password: root

mybatis:
  mapper-locations: classpath:mappers/*Mapper.xml
  type-aliases-package: com.lkl.tkmapper.entity

mybatis主要配置mapper映射文件及实体类别名包配置

2.3、主启动类上加注解扫描

三、基本使用

3.1、创建BaseMapper接口

tkMapper已经完成了对单表的通用操作的封装,封装在Mapper接口和MySqlMapper接口;因此如果我们要完
成对单表的操作,只需自定义Mapper接⼝继承Mapper接口和MySqlMapper接口

创建基础mapper接口继承Mapper接口和MySqlMapper接口以供其他接口直接继承

/**
 * tkmapper的公共接口 供其它接口继承
 *
 * @author likelong
 * @date 2022/8/5
 */
public interface BaseMapper<T> extends Mapper<T>, MySqlMapper<T> {
}

3.2、entity实体层

先看数据库表结构,数据库user表

对应实体类,使用tkmybaist时要给实体类注解,比如说@Table就是表名【类注解】,@Id就是主键,@Column就是列【属性注解】。(符合命名规则则可以省去这些注解,如下实体类)

这里值得注意的是表的列名和类的字段名的对比,比如说我表的字段名是user_name,那么映射成类的字段应该是userName,符合驼峰命名法!

@Data
public class User {

    @Id
    private Integer id;

    private String userName;

    private String password;

    private String address;

    private String phone;

}

3.3、mapper持久层

创建接口直接继承我们的BaseMapper接口即可

public interface UserMapper extends BaseMapper<User> {
}

3.4、service服务层

服务层接口

/**
 * @author likelong
 * @date 2022/8/6
 */
public interface UserService {

    User getById(int id);

    List<User> list();
}

服务层实现类,UserMapper接口此时就具备单表的基本增删改查操作

/**
 * @author likelong
 * @date 2022/8/6
 */
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public User getById(int id) {
        return userMapper.selectByPrimaryKey(id);
    }

    @Override
    public List<User> list() {
        return userMapper.selectAll();
    }
}

四、测试

userMapper具备单表的基本增删改查操作(因为所有的接口都继承自Mapper<T>, MySqlMapper<T>,这2个接口中封装好了所有的单表操作,直接调用相关方法即可。),如下:

五、注意:

此时的UserMapper仅具备单表的基本增删改查操作,如若有多表关联操作时,也可以在mapper映射文件中直接编写相关的sql脚本即可(规则同mybatis一致)。

参考资料

springboot集成tkmapper及逆向工程

tkmapper基本使用

示例代码地址

SpringBoot使用tkmapper

1.加载依赖

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

2.引入逆向工程的插件

引入逆向工程插件的目的是为了省略繁琐的创建各种实体类,映射文件和xml文件等步骤,这些文件在自己创建的过程中很有可能会出现不匹配的情况,所以逆向工程可以很方便完成这些工作。

            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <configuration>
<!--插件配置文件所在的位置-->
              	<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                </configuration>
                <!--在插件中依然需要插入插件所需要的依赖-->
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.47</version>
                    </dependency>
                    <dependency>
                        <groupId>tk.mybatis</groupId>
                        <artifactId>mapper</artifactId>
                        <version>4.1.5</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>

3.插件配置文件

具体的设置和注解在下面的程序中都有说明,并且相对的在文件中设置路径的时候,可以对目标包进行复制路径之后粘贴在目标位。

<?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>
    <!-- 引入数据库连接配置 -->
    <!--<properties resource="jdbc.properties" />-->
    <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>
        <!--配置GeneralDAO -->
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <property name="mappers" value="general.GeneralMapper"/>
        </plugin>
        <!-- 配置数据库连接 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mall?useSSL=false"
                        userId="root"
                        password="123456">
        </jdbcConnection>
        <!-- 配置实体类存放路径 -->
        <javaModelGenerator targetPackage="domain"
                            targetProject="src/main/java"/>
        <!-- 配置 XML 存放路径 -->
        <sqlMapGenerator targetPackage="/" targetProject="src/main/resources/mapper"/>

        <!-- 配置 DAO 存放路径 -->
        <javaClientGenerator targetPackage="mapper" targetProject="src/main/java" type="XMLMAPPER"/>

        <!--配置置需要指定生成的数据库和表,%代表所有表-->
        <table tableName="%">
        </table>
    </context>
</generatorConfiguration>

强调强调强调
逆向工程生成了实体类以及各个参数的set/get方法,但是没有生成实体类的构造方法,一定要自己添加构造方法!!!

4.错误

1.在tkmapper进行逆向工程的时候显示依赖找不到

自己的原因: 因为使用的maven聚合工程,所以在父工程引入了打包插件,即下面的依赖

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>

解决办法: 将父工程的<build>标签中的内容全部进行删除,之后将pom文件重新加载。
对于一个问题也是同样的解决方案: 在打包过程中显示找不到main函数

2.提示如下的错误

Mon Mar 08 15:03:09 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

根据提示中的错误,则需要设置数据库连接地址中的useSSL

"jdbc:mysql://localhost:3306/mall?useSSL=false"

3.修改上述的错误之后,还是生成不了

自己的问题: tkmapper的版本过高,所以将1.4.0的版本降至1.3.5之后,问题解决。

到此这篇关于springboot集成tkmapper及基本使用的文章就介绍到这了,更多相关springboot集成tkmapper内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • springboot2.x整合tkmapper的示例代码

    springboot整合tkmapper 1.导入pom依赖 1.1 导入springboot的parent依赖 <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.1.9.RELEASE</version> </parent> 1.

  • springboot集成tkmapper及基本使用教程

    目录 一. 简介 二.集成mybatis&tkmapper 2.1.所需依赖 2.2.配置yml 2.3.主启动类上加注解扫描 三.基本使用 3.1.创建BaseMapper接口 3.2.entity实体层 3.3.mapper持久层 3.4.service服务层 四.测试 五.注意: 参考资料 SpringBoot使用tkmapper 1.加载依赖 2.引入逆向工程的插件 3.插件配置文件 4.错误 一. 简介 tkMapper是⼀个MyBatis插件,是在MyBatis的基础上提供了很多工具

  • apollo与springboot集成实现动态刷新配置的教程详解

    分布式apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性. 本文主要介绍如何使用apollo与springboot实现动态刷新配置,如果之前不了解apollo可以查看如下文档 https://github.com/ctripcorp/apollo 学习了解一下apollo,再来查看本文 正文 apollo与spring实现动态刷新配置本文主要演示2种刷新,一种

  • Flyway详解及Springboot集成Flyway的详细教程

    Flayway是一款数据库版本控制管理工具,,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里:不仅支持Command Line和java api ,也支持Build构建工具和Spring boot,也可以在分布式环境下能够安全可靠安全地升级数据库,同时也支持失败恢复. Flyway最核心的就是用于记录所有版本演化和状态的MetaData表,Flyway首次启动会创建默认名为SCHEMA_VERSION的元素局表. 表中保存了版本,描述,要执行的sql脚本

  • SpringBoot集成Nacos的详细教程

    一.环境说明 1.CentOS7 2.Jdk1.8 3.Mysql5.7 4.Nacos1.3 5.SpringBoot2.3.1.RELEASE 6.Maven3.6 二.下载Nacos 1.Nacos官网:https://nacos.io/zh-cn/index.html 2.Nacos下载地址:https://github.com/alibaba/nacos/releases/download/1.3.0/nacos-server-1.3.0.tar.gz 三.解压启动Nacos 1.解压

  • springboot集成springsecurity 使用OAUTH2做权限管理的教程

    Spring Security OAuth2 主要配置,注意application.yml最后的配置resource filter顺序配置,不然会能获取token但是访问一直 没有权限 WebSecurityConfigurerAdapter 所在服务器的web配置 AuthorizationServerConfigurerAdapter 认证服务器配置 ResourceServerConfigurerAdapter 资源服务器配置 这两个配置在 OAuth2Config.java 权限有几种模

  • springboot集成Mybatis的详细教程

    springboot集成Mybatis 第一步: 添加Mybatis依赖 <!--mybatis整合springboot框架的起步依赖--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.0</version> &l

  • Springboot集成阿里云OSS上传文件系统教程

    第一步:开通阿里云OSS服务,创建Bucket,获取id和密钥 第二步:根据官方文档编写上传代码 1.新建maven项目 添加依赖: <!-- 阿里云oss依赖 --> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> </dependency> <!-- 日期工具栏依赖 --> <

  • 全网最全SpringBoot集成swagger的详细教程

    目录 一. 接口文档概述 二. SpringBoot集成swagger2 2.1 引入依赖 2.2 引入配置 2.3 给Controller 添加注解 2.4 [404]问题解决 2.5 替换UI 三. SpringBoot集成swagger3 四. swaggerUI 拦截器和跨域冲突处理 五. 写在最后 一. 接口文档概述 swagger是当下比较流行的实时接口文文档生成工具.接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发

  • springboot集成mybatis-maven插件自动生成pojo的详细教程

    1.生成springboot项目,选择mybatis.mysql(略过) 2.搭建mysql环境,打开服务,记录用户名及密码,新建业务表. 3.在resources文件夹下新建如图所示文件夹: 4.包路径配置(记住自己存放的路径,后面用): 5.在generator中新建文件generatorConfig.properties(统一存放需要的变量).generatorMapper.xml 6.generatorConfig.properties内容如下,(mysql的jdbc.url一定要加时区

  • SpringBoot集成mybatis连接oracle的图文教程

    目录 一.背景 原始的连接数据库的步骤 二.整合过程 springboot集成mybatis连接oracle数据库的过程 个人感悟 一.背景 在实际开发过程中是离不开数据库的,如果不使用任何框架,那么连接数据库的代码会散落在项目的各个地方,且容易出现各种连接数据库问题. 原始的连接数据库的步骤 1.加载驱动(什么数据库,就记载什么驱动) 2.获取连接 3.编写sql 4.创建statement 5.执行sql语句并处理结果 6.自下而上一次关闭连接(容易出现异常) 在实际开发中,操作数据库还是很

随机推荐