最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot集成tkmapper及基本使用教程

 更新時間:2022年11月10日 08:32:10   作者:likelong965  
tk.mybatis可以節(jié)省程序員的大部分時間,對于程序員來說關(guān)于一張表的操作無非就是增刪改查,tk.mybatis提供了一些基本操作的SQL語句,比如說按表的主鍵查詢、刪除等基本操作,我們接下來就來介紹一些springboot集成tkmapper及基本使用

一. 簡介

tkMapper是?個MyBatis插件,是在MyBatis的基礎(chǔ)上提供了很多工具,讓開發(fā)變得簡單,提高開發(fā)效率。

  • 提供了針對單表通用的數(shù)據(jù)庫操作方法
  • 逆向工程(根據(jù)數(shù)據(jù)表生成實(shí)體類、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映射文件及實(shí)體類別名包配置

image-20220806105312807

2.3、主啟動類上加注解掃描

image-20220806105600524

三、基本使用

3.1、創(chuàng)建BaseMapper接口

tkMapper已經(jīng)完成了對單表的通用操作的封裝,封裝在Mapper接口和MySqlMapper接口;因此如果我們要完
成對單表的操作,只需自定義Mapper接?繼承Mapper接口和MySqlMapper接口

創(chuàng)建基礎(chǔ)mapper接口繼承Mapper接口和MySqlMapper接口以供其他接口直接繼承

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

3.2、entity實(shí)體層

先看數(shù)據(jù)庫表結(jié)構(gòu),數(shù)據(jù)庫user表

image-20220806110228542

對應(yīng)實(shí)體類,使用tkmybaist時要給實(shí)體類注解,比如說@Table就是表名【類注解】,@Id就是主鍵,@Column就是列【屬性注解】。(符合命名規(guī)則則可以省去這些注解,如下實(shí)體類)

這里值得注意的是表的列名和類的字段名的對比,比如說我表的字段名是user_name,那么映射成類的字段應(yīng)該是userName,符合駝峰命名法!

@Data
public class User {

    @Id
    private Integer id;

    private String userName;

    private String password;

    private String address;

    private String phone;

}

3.3、mapper持久層

創(chuàng)建接口直接繼承我們的BaseMapper接口即可

public interface UserMapper extends BaseMapper<User> {
}

3.4、service服務(wù)層

服務(wù)層接口

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

    User getById(int id);

    List<User> list();
}

服務(wù)層實(shí)現(xiàn)類,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();
    }
}

四、測試

image-20220806112226254

userMapper具備單表的基本增刪改查操作(因?yàn)樗械慕涌诙祭^承自Mapper<T>, MySqlMapper<T>,這2個接口中封裝好了所有的單表操作,直接調(diào)用相關(guān)方法即可。),如下:

image-20220806112351084

五、注意:

此時的UserMapper僅具備單表的基本增刪改查操作,如若有多表關(guān)聯(lián)操作時,也可以在mapper映射文件中直接編寫相關(guān)的sql腳本即可(規(guī)則同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.引入逆向工程的插件

引入逆向工程插件的目的是為了省略繁瑣的創(chuàng)建各種實(shí)體類,映射文件和xml文件等步驟,這些文件在自己創(chuàng)建的過程中很有可能會出現(xiàn)不匹配的情況,所以逆向工程可以很方便完成這些工作。

            <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.插件配置文件

具體的設(shè)置和注解在下面的程序中都有說明,并且相對的在文件中設(shè)置路徑的時候,可以對目標(biāo)包進(jìn)行復(fù)制路徑之后粘貼在目標(biāo)位。

<?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>
    <!-- 引入數(shù)據(jù)庫連接配置 -->
    <!--<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>
        <!-- 配置數(shù)據(jù)庫連接 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mall?useSSL=false"
                        userId="root"
                        password="123456">
        </jdbcConnection>
        <!-- 配置實(shí)體類存放路徑 -->
        <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"/>

        <!--配置置需要指定生成的數(shù)據(jù)庫和表,%代表所有表-->
        <table tableName="%">
        </table>
    </context>
</generatorConfiguration>

強(qiáng)調(diào)強(qiáng)調(diào)強(qiáng)調(diào)
逆向工程生成了實(shí)體類以及各個參數(shù)的set/get方法,但是沒有生成實(shí)體類的構(gòu)造方法,一定要自己添加構(gòu)造方法!?。?/strong>

4.錯誤

1.在tkmapper進(jìn)行逆向工程的時候顯示依賴找不到

自己的原因: 因?yàn)槭褂玫膍aven聚合工程,所以在父工程引入了打包插件,即下面的依賴

        <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>標(biāo)簽中的內(nèi)容全部進(jìn)行刪除,之后將pom文件重新加載。
對于一個問題也是同樣的解決方案: 在打包過程中顯示找不到main函數(shù)

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.

根據(jù)提示中的錯誤,則需要設(shè)置數(shù)據(jù)庫連接地址中的useSSL

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

3.修改上述的錯誤之后,還是生成不了

自己的問題: tkmapper的版本過高,所以將1.4.0的版本降至1.3.5之后,問題解決。

到此這篇關(guān)于springboot集成tkmapper及基本使用的文章就介紹到這了,更多相關(guān)springboot集成tkmapper內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringCloud之consul服務(wù)注冊與發(fā)現(xiàn)、配置管理、配置持久化方式

    SpringCloud之consul服務(wù)注冊與發(fā)現(xiàn)、配置管理、配置持久化方式

    這篇文章主要介紹了SpringCloud之consul服務(wù)注冊與發(fā)現(xiàn)、配置管理、配置持久化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • SpringBoot實(shí)現(xiàn)圖形驗(yàn)證碼的操作方法

    SpringBoot實(shí)現(xiàn)圖形驗(yàn)證碼的操作方法

    隨著安全性的要求越來越高,目前許多項(xiàng)目中都使用了驗(yàn)證碼,驗(yàn)證碼也有各種類型,如 圖形驗(yàn)證碼、短信驗(yàn)證碼、郵件驗(yàn)證碼、人臉識別等,本文給大家介紹SpringBoot實(shí)現(xiàn)圖形驗(yàn)證碼的方法,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • Springboot+Spring Security實(shí)現(xiàn)前后端分離登錄認(rèn)證及權(quán)限控制的示例代碼

    Springboot+Spring Security實(shí)現(xiàn)前后端分離登錄認(rèn)證及權(quán)限控制的示例代碼

    本文主要介紹了Springboot+Spring Security實(shí)現(xiàn)前后端分離登錄認(rèn)證及權(quán)限控制的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java 深入探究講解抽象工廠模式

    Java 深入探究講解抽象工廠模式

    當(dāng)系統(tǒng)所提供的工廠所需生產(chǎn)的具體產(chǎn)品并不是一個簡單的對象,而是多個位于不同產(chǎn)品等級結(jié)構(gòu)中屬于不同類型的具體產(chǎn)品時需要使用抽象工廠模式,抽象工廠模式是所有形式的工廠模式中最為抽象和最具一般性的一種形態(tài)
    2022-04-04
  • 在SpringBoot項(xiàng)目中使用JetCache緩存的詳細(xì)教程

    在SpringBoot項(xiàng)目中使用JetCache緩存的詳細(xì)教程

    Spring Boot是一個非常流行的Java開發(fā)框架,JetCache是一個基于注解的高性能緩存框架,本文將介紹如何在Spring Boot項(xiàng)目中使用JetCache緩存,并提供一個詳細(xì)案例來說明如何配置和使用JetCache,需要的朋友可以參考下
    2024-06-06
  • Springcloud seata分布式事務(wù)實(shí)現(xiàn)代碼解析

    Springcloud seata分布式事務(wù)實(shí)現(xiàn)代碼解析

    這篇文章主要介紹了Springcloud seata分布式事務(wù)實(shí)現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • Spring 面向切面編程AOP實(shí)現(xiàn)詳解

    Spring 面向切面編程AOP實(shí)現(xiàn)詳解

    這篇文章主要介紹了Spring 面向切面編程AOP實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • 基于@MapperScan和@ComponentScan的使用區(qū)別

    基于@MapperScan和@ComponentScan的使用區(qū)別

    這篇文章主要介紹了@MapperScan和@ComponentScan的使用區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 運(yùn)行時常量池和字符串常量池的區(qū)別及說明

    運(yùn)行時常量池和字符串常量池的區(qū)別及說明

    這篇文章主要介紹了運(yùn)行時常量池和字符串常量池的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • IntelliJ IDEA中代碼一鍵生成方法

    IntelliJ IDEA中代碼一鍵生成方法

    EasyCode 是基于 IntelliJ IDEA 開發(fā)的代碼生成插件,支持自定義任意模板(Java,html,js,xml),這篇文章主要介紹了IntelliJ IDEA中代碼一鍵生成方法,需要的朋友可以參考下
    2020-02-02

最新評論

屏东县| 息烽县| 南京市| 康定县| 门源| 丘北县| 西昌市| 全州县| 鲁山县| 丽水市| 潜山县| 哈尔滨市| 白城市| 锡林郭勒盟| 三穗县| 鲁甸县| 禄丰县| 望城县| 鹿邑县| 九龙城区| 东至县| 巴南区| 丹江口市| 夏津县| 长治市| 临颍县| 焦作市| 北海市| 韶关市| 东丰县| 古田县| 共和县| 南宫市| 阜宁县| 平邑县| 双峰县| 聂拉木县| 吉木乃县| 呈贡县| 咸阳市| 伊宁市|