• Springboot 整合Mytbatis与Mybatis-Plus


    目录

    1. springboot整合mybatis  

     1.1 添加pom.xml依赖

     1.2 新建jdbc.properties 文件添加以下内容

     1.3 新建generatorConfig.xml 文件添加以下内容 (自动生成代码类) 

     1.4 修改application.properties 文件 添加以下内容

     1.5 修改主类MapperScan

     1.6 编写接口实现类进行测试 

    2. springboot整合mybatis-plus

      2.1 添加pom.xml依赖 

      2.2 自动生成代码类

      2.3 修改application.properties 文件 添加以下内容

      2.4 修改主方法MapperScan

      2.5 编写测试类开始测试


    前言

     如果你想要复制我的代码来操作实验的话请看以下说明:

        springboot整合mybatis主包名要为 com.jmh.ssm

     

        springboot整合mybatis-plus主包名为 com.jmh.ssmmp

     

    1. springboot整合mybatis  

      1.1 添加pom.xml依赖

    1. <dependencies>
    2. <dependency>
    3. <groupId>org.springframework.bootgroupId>
    4. <artifactId>spring-boot-starter-jdbcartifactId>
    5. dependency>
    6. <dependency>
    7. <groupId>org.springframework.bootgroupId>
    8. <artifactId>spring-boot-starter-webartifactId>
    9. dependency>
    10. <dependency>
    11. <groupId>org.mybatis.spring.bootgroupId>
    12. <artifactId>mybatis-spring-boot-starterartifactId>
    13. <version>2.2.2version>
    14. dependency>
    15. <dependency>
    16. <groupId>mysqlgroupId>
    17. <artifactId>mysql-connector-javaartifactId>
    18. <scope>runtimescope>
    19. dependency>
    20. <dependency>
    21. <groupId>org.projectlombokgroupId>
    22. <artifactId>lombokartifactId>
    23. <optional>trueoptional>
    24. dependency>
    25. dependencies>
    1. <plugin>
    2. <groupId>org.mybatis.generatorgroupId>
    3. <artifactId>mybatis-generator-maven-pluginartifactId>
    4. <version>1.3.2version>
    5. <dependencies>
    6. <dependency>
    7. <groupId>mysqlgroupId>
    8. <artifactId>mysql-connector-javaartifactId>
    9. <version>5.1.44version>
    10. dependency>
    11. dependencies>
    12. <configuration>
    13. <overwrite>trueoverwrite>
    14. configuration>
    15. plugin>

      1.2 新建jdbc.properties 文件添加以下内容

    1. jdbc.driver=com.mysql.jdbc.Driver
    2. jdbc.url=jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=UTF-8
    3. jdbc.username=数据库账号
    4. jdbc.password=数据库密码

      1.3 新建generatorConfig.xml 文件添加以下内容 (自动生成代码类) 

    1. "1.0" encoding="UTF-8" ?>
    2. generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    3. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
    4. <generatorConfiguration>
    5. <properties resource="jdbc.properties"/>
    6. <classPathEntry location="E:\\mysql"/>
    7. <context id="infoGuardian">
    8. <commentGenerator>
    9. <property name="suppressAllComments" value="true"/>
    10. <property name="suppressDate" value="true"/>
    11. commentGenerator>
    12. <jdbcConnection driverClass="${jdbc.driver}"
    13. connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"/>
    14. <javaTypeResolver>
    15. <property name="forceBigDecimals" value="false"/>
    16. javaTypeResolver>
    17. <javaModelGenerator targetPackage="com.jmh.ssm.model"
    18. targetProject="src/main/java">
    19. <property name="enableSubPackages" value="false"/>
    20. <property name="constructorBased" value="true"/>
    21. <property name="trimStrings" value="false"/>
    22. <property name="immutable" value="false"/>
    23. javaModelGenerator>
    24. <sqlMapGenerator targetPackage="mapper"
    25. targetProject="src/main/test">
    26. <property name="enableSubPackages" value="false"/>
    27. sqlMapGenerator>
    28. <javaClientGenerator targetPackage="com.jmh.ssm.mapper"
    29. targetProject="src/main/java" type="XMLMAPPER">
    30. <property name="enableSubPackages" value="false"/>
    31. javaClientGenerator>
    32. <table schema="" tableName="t_book_vue" domainObjectName="Book"
    33. enableCountByExample="false" enableDeleteByExample="false"
    34. enableSelectByExample="false" enableUpdateByExample="false">
    35. table>
    36. context>
    37. generatorConfiguration>
    • 配置EditConfiguations的Maven启动方式
    • 命令:mybatis-generator:generate -e

    生成项目结构 

      1.4 修改application.properties 文件 添加以下内容

    1. #配置tomcat
    2. server:
    3. port: 8080
    4. servlet:
    5. context-path: /ssm
    6. #配置jdbc
    7. spring:
    8. datasource:
    9. driver-class-name: com.mysql.jdbc.Driver
    10. url: jdbc:mysql://localhost:3306/你的数据库名称?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    11. username: 数据库账号
    12. password: 数据库密码
    13. #配置mybatis
    14. mybatis:
    15. #配置SQL映射文件路径
    16. mapper-locations: classpath:mapper/*.xml
    17. #配置别名
    18. type-aliases-package: com.jmh.ssm.model
    19. #开启驼峰命名
    20. configuration:
    21. map-underscore-to-camel-case: true
    22. #配置日志输出
    23. logging:
    24. level:
    25. com.jmh.ssm.mapper: debug

     1.5 修改主类MapperScan

    1. package com.jmh.ssm;
    2. import org.mybatis.spring.annotation.MapperScan;
    3. import org.springframework.boot.SpringApplication;
    4. import org.springframework.boot.autoconfigure.SpringBootApplication;
    5. @MapperScan({"com.jmh.ssm.mapper"})
    6. @SpringBootApplication
    7. public class SsmApplication {
    8. public static void main(String[] args) {
    9. SpringApplication.run(SsmApplication.class, args);
    10. }
    11. }

     1.6 编写接口实现类进行测试 

    1. package com.jmh.ssm.service.impl;
    2. import com.jmh.ssm.mapper.BookMapper;
    3. import com.jmh.ssm.model.Book;
    4. import com.jmh.ssm.service.IBookService;
    5. import org.springframework.stereotype.Service;
    6. import javax.annotation.Resource;
    7. import java.util.List;
    8. /**
    9. * @author 蒋明辉
    10. * @data 2022/9/28 17:06
    11. */
    12. @Service
    13. public class BookServiceImpl implements IBookService {
    14. //注入
    15. @Resource
    16. private BookMapper bookMapper;
    17. @Override
    18. public int deleteByPrimaryKey(Integer id) {
    19. return 0;
    20. }
    21. @Override
    22. public int insert(Book record) {
    23. return 0;
    24. }
    25. @Override
    26. public int insertSelective(Book record) {
    27. return 0;
    28. }
    29. @Override
    30. public Book selectByPrimaryKey(Integer id) {
    31. return bookMapper.selectByPrimaryKey(id);
    32. }
    33. @Override
    34. public int updateByPrimaryKeySelective(Book record) {
    35. return 0;
    36. }
    37. @Override
    38. public int updateByPrimaryKey(Book record) {
    39. return 0;
    40. }
    41. }

      测试类

    1. package com.jmh.ssm.service.impl;
    2. import com.jmh.ssm.model.Book;
    3. import com.jmh.ssm.service.IBookService;
    4. import org.junit.Test;
    5. import org.junit.runner.RunWith;
    6. import org.springframework.boot.test.context.SpringBootTest;
    7. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    8. import javax.annotation.Resource;
    9. import java.util.List;
    10. import static org.junit.Assert.*;
    11. /**
    12. * @author 蒋明辉
    13. * @data 2022/9/28 17:08
    14. */
    15. @RunWith(SpringJUnit4ClassRunner.class)
    16. @SpringBootTest
    17. public class BookServiceImplTest {
    18. //注入
    19. @Resource
    20. private IBookService bookService;
    21. @Test
    22. public void selectByPrimaryKey() {
    23. Book book = bookService.selectByPrimaryKey(9);
    24. System.out.println(book);
    25. }
    26. @Test
    27. public void listBook(){
    28. List books =
    29. bookService.listBook(null);
    30. for (Book book : books) {
    31. System.out.println(book);
    32. }
    33. }
    34. }

     

    2. springboot整合mybatis-plus

       2.1 添加pom.xml依赖 

    1. <dependency>
    2. <groupId>com.baomidougroupId>
    3. <artifactId>mybatis-plus-boot-starterartifactId>
    4. <version>3.5.2version>
    5. dependency>
    6. <dependency>
    7. <groupId>com.baomidougroupId>
    8. <artifactId>mybatis-plus-generatorartifactId>
    9. <version>3.5.2version>
    10. dependency>
    11. <dependency>
    12. <groupId>org.springframework.bootgroupId>
    13. <artifactId>spring-boot-starter-freemarkerartifactId>
    14. <version>2.7.4version>
    15. dependency>
    16. <dependency>
    17. <groupId>org.springframework.bootgroupId>
    18. <artifactId>spring-boot-starter-jdbcartifactId>
    19. dependency>
    20. <dependency>
    21. <groupId>org.springframework.bootgroupId>
    22. <artifactId>spring-boot-starter-webartifactId>
    23. dependency>
    24. <dependency>
    25. <groupId>mysqlgroupId>
    26. <artifactId>mysql-connector-javaartifactId>
    27. <scope>runtimescope>
    28. dependency>
    29. <dependency>
    30. <groupId>org.projectlombokgroupId>
    31. <artifactId>lombokartifactId>
    32. <optional>trueoptional>
    33. dependency>

      2.2 自动生成代码类(里面需要修改你的mysql配置与代码生成到哪里的目录位置)

    1. package com.jmh.ssmmp.generator;
    2. import com.baomidou.mybatisplus.generator.FastAutoGenerator;
    3. import com.baomidou.mybatisplus.generator.config.OutputFile;
    4. import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
    5. import java.util.Collections;
    6. /**
    7. * @author 蒋明辉
    8. * @data 2022/9/28 19:48
    9. */
    10. public class MybatisPlusGenerator {
    11. public static void main(String[] args) {
    12. FastAutoGenerator.create(
    13. "jdbc:mysql://localhost:3306/db_layui?useUnicode=true&characterEncoding=UTF-8&useSSL=false",
    14. "root",
    15. "1234")
    16. .globalConfig(builder -> {
    17. builder.author("jmh") // 设置作者
    18. //.enableSwagger() // 开启 swagger 模式
    19. .fileOverride() // 覆盖已生成文件
    20. .outputDir("E:\\springbootProject\\ssm-mp\\src\\main\\java"); // 指定输出目录
    21. })
    22. .packageConfig(builder -> {
    23. builder.parent("com.jmh.ssmmp") // 设置父包名
    24. //.moduleName("system") // 设置父包模块名
    25. .pathInfo(Collections.singletonMap(OutputFile.xml, "E:\\springbootProject\\ssm-mp\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
    26. })
    27. .strategyConfig(builder -> {
    28. builder.addInclude("t_book_vue") // 设置需要生成的表名
    29. .addTablePrefix("t_", "c_"); // 设置过滤表前缀
    30. })
    31. .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
    32. .execute();
    33. }
    34. }

     项目结构

      2.3 修改application.properties 文件 添加以下内容

    1. #配置tomcat
    2. server:
    3. port: 8080
    4. servlet:
    5. context-path: /ssm
    6. #配置jdbc
    7. spring:
    8. datasource:
    9. driver-class-name: com.mysql.jdbc.Driver
    10. url: jdbc:mysql://localhost:3306/你的数据库名称?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    11. username: 你的数据库账号
    12. password: 你的数据库密码
    13. #配置mybatis
    14. mybatis-plus:
    15. #配置SQL映射文件路径
    16. mapper-locations: classpath:mapper/*.xml
    17. #配置别名
    18. type-aliases-package: com.jmh.ssmmp.model
    19. #开启驼峰命名
    20. configuration:
    21. map-underscore-to-camel-case: true
    22. #配置日志输出
    23. logging:
    24. level:
    25. com.jmh.ssmmp.mapper: debug

      2.4 修改主方法MapperScan

    1. package com.jmh.ssmmp;
    2. import org.mybatis.spring.annotation.MapperScan;
    3. import org.springframework.boot.SpringApplication;
    4. import org.springframework.boot.autoconfigure.SpringBootApplication;
    5. @SpringBootApplication
    6. @MapperScan({"com.jmh.ssmmp.mapper"})
    7. public class SsmMpApplication {
    8. public static void main(String[] args) {
    9. SpringApplication.run(SsmMpApplication.class, args);
    10. }
    11. }

      2.5 编写测试类开始测试

    1. package com.jmh.ssmmp.service.impl;
    2. import com.jmh.ssmmp.entity.BookVue;
    3. import com.jmh.ssmmp.service.IBookVueService;
    4. import org.junit.Test;
    5. import org.junit.runner.RunWith;
    6. import org.springframework.boot.test.context.SpringBootTest;
    7. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    8. import javax.annotation.Resource;
    9. import java.awt.print.Book;
    10. import java.util.List;
    11. import static org.junit.Assert.*;
    12. /**
    13. * @author 蒋明辉
    14. * @data 2022/9/28 20:22
    15. */
    16. @RunWith(SpringJUnit4ClassRunner.class)
    17. @SpringBootTest
    18. public class BookVueServiceImplTest {
    19. //注入
    20. @Resource
    21. private IBookVueService bookVueService;
    22. @Test
    23. public void list(){
    24. List list = bookVueService.list();
    25. for (BookVue vue : list) {
    26. System.out.println(vue);
    27. }
    28. }
    29. }

     

  • 相关阅读:
    Mysql基础【操作数据库表】
    基于stm3210系列的简单DMA通信
    springboot项目启动时获取所有的api接口
    【UI编程】将Java awt/swing应用移植到JavaFX纪实
    Java--Spring事务
    实习打怪之路:ES6中的Sym详解
    计算机毕业设计 基于SpringBoot餐厅点餐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
    弘辽科技:拼多多怎么提升转化率?做到这五点!
    OSPF下的MGRE实验
    机器学习-集成学习LightGBM
  • 原文地址:https://blog.csdn.net/m0_63300795/article/details/127097751