全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

SpringBoot整合MyBatis逆向工程及 MyBatis通用Mapper实例详解

一、添加所需依赖,当前完整的pom文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.5.6.RELEASE</version>
 </parent>
 <groupId>org.rcddup</groupId>
 <artifactId>rcddup-custom</artifactId>
 <version>1.0.0</version>
 <properties>
  <java.version>1.8</java.version>
  <mybatis.version>1.3.1</mybatis.version>
  <mapper.version>3.4.3</mapper.version>
  <mybatis-generator.version>1.3.3</mybatis-generator.version>
  <mybatis-tk.version>1.1.4</mybatis-tk.version>
  <pagehelper.version>1.2.1</pagehelper.version>
 </properties>
 <dependencies>
  <!-- SpringBoot - Web -->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <!-- SpringBoot - MyBatis -->
  <dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>${mybatis.version}</version>
  </dependency>
  <!-- SpringBoot - MyBatis 逆向工程 -->
  <dependency>
   <groupId>org.mybatis.generator</groupId>
   <artifactId>mybatis-generator-core</artifactId>
   <version>${mybatis-generator.version}</version>
  </dependency>
  <!-- MyBatis 通用 Mapper -->
  <dependency>
   <groupId>tk.mybatis</groupId>
   <artifactId>mapper-spring-boot-starter</artifactId>
   <version>${mybatis-tk.version}</version>
  </dependency>
  <!-- Mysql -->
  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
  </dependency>
 </dependencies>
 <build>
  <plugins>
   <!-- MyBatis 逆向工程 插件 -->
   <plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>${mybatis.generator.version}</version>
    <dependencies>
     <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
     </dependency>
     <dependency>
      <groupId>tk.mybatis</groupId>
      <artifactId>mapper</artifactId>
      <version>${mapper.version}</version>
     </dependency>
    </dependencies>
    <configuration>
     <!-- 允许移动生成的文件 -->
     <verbose>true</verbose>
     <!-- 是否覆盖 -->
     <overwrite>true</overwrite>
     <!-- 配置文件 -->
     <configurationFile>
      ${basedir}/src/main/resources/generator/generatorConfig.xml
     </configurationFile>
    </configuration>
   </plugin>
  </plugins>
 </build>
</project>

  MyBtais 结合通用 Mapper 非常好使,接下来看逆向工程的配置。

  有关通用Mapper的信息,请查看:https://github.com/abel533/Mapper

二、generatorConfig.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>
 <!-- 引入 application.properties -->
 <properties resource="application.properties" />
 <!-- MyBatis3Simple:不生成 Example相关类及方法 -->
 <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
  <property name="beginningDelimiter" value="`" />
  <property name="endingDelimiter" value="`" />
  <!-- 指定生成 Mapper 的继承模板 -->
  <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
   <property name="mappers" value="${generator.mappers}" />
  </plugin>
  <!-- 生成 JavaBean 对象重写 toString方法 -->
  <plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
  <!-- 生成 JavaBean 对象继承 Serializable 类 -->
  <plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
  <!-- 生成 JavaBean 对象重写 equals 和 hashCode 方法 -->
  <!-- <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" /> -->
  <!-- jdbc 连接配置 -->
  <jdbcConnection driverClass="${spring.datasource.driver-class-name}"
   connectionURL="${spring.datasource.url}"
   userId="${spring.datasource.username}"
   password="${spring.datasource.password}">
  </jdbcConnection>
  <javaModelGenerator targetPackage="${generator.javaModel-targetPackage}"
   targetProject="${generator.targetProject}" />
  <sqlMapGenerator targetPackage="${generator.sqlMap-targetPackage}" 
   targetProject="${generator.targetProject}" />
  <javaClientGenerator targetPackage="${generator.javaClient-targetPackage}"
   targetProject="${generator.targetProject}" type="XMLMAPPER" />
  <!-- Mysql 配置 -->
  <!-- <generatedKey column="id" sqlStatement="Mysql" identity="true" /> -->
  <!-- Oracle 配置 -->
  <!-- <generatedKey column="id" sqlStatement="select SEQ_{1}.nextval from dual" identity="false" type="pre"/> -->
  <!-- tableName:数据库表名,domainObjectName:生成文件名 ,schema:数据源-->
  <table tableName="user">
   <generatedKey column="id" sqlStatement="Mysql" identity="true" />
  </table>
 </context>
</generatorConfiguration>

  我们将对应的信息都在 application.properties 中定义好,在这直接使用,application.properties如下:

# Generator
generator.targetProject=src/main/java
generator.mappers=org.rcddup.app.common.base.IBaseMapper
generator.javaModel-targetPackage=org.rcddup.app.domain
generator.sqlMap-targetPackage=org.rcddup.app.dao
generator.javaClient-targetPackage=org.rcddup.app.dao

三、编写生成Mapper的集成接口IBaseMapper

package org.rcddup.app.common.base;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface IBaseMapper<T> extends Mapper<T>, MySqlMapper<T> {
}

  集成的 Mapper 以及 MySqlMapper 几乎包含了你所有的 CRUD方法。

四、使用逆向工程生成我们的第一个文件

  右键项目 --> Maven --> Maven build --> Goals: mybtais-generator:generate,点击 run.....

  我们的UserMapper以及UserMapper.xml就生成了。

  (1)UserMapper.java

package org.rcddup.app.dao;
import org.rcddup.app.common.base.IBaseMapper;
import org.rcddup.app.domain.User;
public interface UserMapper extends IBaseMapper<User> {
}

  (2)UserMapper.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="org.rcddup.app.dao.UserMapper">
 <resultMap id="BaseResultMap" type="org.rcddup.app.domain.User">
 <!--
  WARNING - @mbg.generated
 -->
 <id column="id" jdbcType="BIGINT" property="id" />
 <result column="name" jdbcType="VARCHAR" property="name" />
 <result column="age" jdbcType="TINYINT" property="age" />
 <result column="status" jdbcType="TINYINT" property="status" />
 </resultMap>
</mapper>

  是不是发现xml中都没有配置任何CRUD方法。

五、重新编写 UserService.java

  我们原先编写的 UserService 现在我们用新生成的 UserMapper 来重新编写。

package org.rcddup.app.service.impl;
import java.util.List;
import org.rcddup.app.dao.UserMapper;
import org.rcddup.app.domain.User;
import org.rcddup.app.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
@Service
public class UserService implements IUserService{
 @Autowired
 private UserMapper userMapper;
 @Override
 public List<User> listUser() {
  return userMapper.selectAll();
 }
 @Override
 public User getUserById(Long id) {
  // 方法一:适用于任何字段的查询
//  Example example = new Example(User.class);
//  example.createCriteria().andEqualTo("id", id);
//  List<User> list = userMapper.selectByExample(example);
//  if (list != null && list.size() > 0) {
//   return list.get(0);
//  } else {
//   return null;
//  }
  // 方法二:只适用于主键字段
  return userMapper.selectByPrimaryKey(id);
 }
}

六、启动 App.java

  输入:localhost:8080/user/get?id=1

  输入:localhost:8080/user/list

  好了,到这我们整合了Mybatis逆向工程以及通用Mapper。

总结

以上所述是小编给大家介绍的SpringBoot整合MyBatis逆向工程及 MyBatis通用Mapper实例详解 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


# spring  # boot  # 整合mybatis  # mybatis  # 通用mapper  # SpringBoot如何使用MyBatisPlus逆向工程自动生成代码  # springboot3.0整合mybatis-flex实现逆向工程的示例代码  # SpringBoot整合MybatisPlusGernerator实现逆向工程  # Spring Boot整合MybatisPlus逆向工程(MySQL/PostgreSQL)  # springboot整合mybatis-plus逆向工程的实现  # mybatis逆向工程与分页在springboot中的应用及遇到坑  # 浅析Spring和MyBatis整合及逆向工程  # spring和Mybatis逆向工程的实现  # 适用于  # 重写  # 小编  # 好了  # 都在  # 第一个  # 在这  # 右键  # 所需  # 给大家  # 你所  # 中都  # 所述  # 给我留言  # 配置文件  # 请查看  # 这我  # 主键  # 有任何  # 包含了 


相关文章: 太平洋网站制作公司,网络用语太平洋是什么意思?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  网站专业制作公司有哪些,做一个公司网站要多少钱?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  如何在云主机上快速搭建网站?  为什么Go需要go mod文件_Go go mod文件作用说明  建站主机选购指南与交易推荐:核心配置解析  制作网站的软件免费下载,免费制作app哪个平台好?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  建站之星后台密码遗忘?如何快速找回?  电商平台网站制作流程,电商网站如何制作?  建站上传速度慢?如何优化加速网站加载效率?  济南企业网站制作公司,济南社保单位网上缴费步骤?  如何获取上海专业网站定制建站电话?  ppt制作免费网站有哪些,ppt模板免费下载网站?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  如何快速生成橙子建站落地页链接?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  如何高效完成独享虚拟主机建站?  教学论文网站制作软件有哪些,写论文用什么软件 ?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  香港服务器建站指南:免备案优势与SEO优化技巧全解析  建设网站制作价格,怎样建立自己的公司网站?  如何在橙子建站上传落地页?操作指南详解  小型网站制作HTML,*游戏网站怎么搭建?  如何通过远程VPS快速搭建个人网站?  如何在建站宝盒中设置产品搜索功能?  如何在新浪SAE免费搭建个人博客?  如何在阿里云通过域名搭建网站?  如何安全更换建站之星模板并保留数据?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  建站之星如何助力企业快速打造五合一网站?  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何使用Golang安装API文档生成工具_快速生成接口文档  大型企业网站制作流程,做网站需要注册公司吗?  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  海南网站制作公司有哪些,海口网是哪家的?  建站主机选购指南:核心配置优化与品牌推荐方案  如何构建满足综合性能需求的优质建站方案?  手机网站制作与建设方案,手机网站如何建设?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何通过智能用户系统一键生成高效建站方案?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  微信h5制作网站有哪些,免费微信H5页面制作工具?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  如何零成本快速生成个人自助网站?  建站之星CMS建站配置指南:模板选择与SEO优化技巧 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。