最简单的通用Mapper的使用手册不了解一下()

登山则情满于山,观海则意溢于海。这篇文章主要讲述最简单的通用Mapper的使用手册不了解一下?相关的知识,希望能为你提供帮助。


目录

  • ??通用Mapper的定义??
  • ??SpringBoot如何整合通用mapper??
  • ??第一步:引入依赖??
  • ??第二步:配置逆向工程??
  • ??第三步:定义逆向工程的启动类??
  • ??第四步 测试逆向工程??
  • ??怎么用???
  • ??如何调用方法???
  • ??方法哪里来的??
  • ??Mapper??
  • ??BaseMapper接口??
  • ??ExampleMapper接口??
  • ??RowBoundsMapper接口??
  • ??总结??
  • ??参考??
  • ??源码地址:??
通用Mapper的定义通用Mapper 是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。开发人员可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法,极其方便的使用MyBatis单表的增删改查。
本文下从如下三个方面来介绍:
  1. SpringBoot如何整合通用mapper
  2. 如何使用通用Mapper的方法
  3. 通用方法怎么来的
SpringBoot如何整合通用mapper 第一步:引入依赖
< !--mapper需要依赖jpa-->
< dependency>
< groupId> org.springframework.boot< /groupId>
< artifactId> spring-boot-starter-data-jpa< /artifactId>
< /dependency>
< !--MyBatis 通用 Mapper-->
< dependency>
< groupId> tk.mybatis< /groupId>
< artifactId> mapper-spring-boot-starter< /artifactId>
< version> 1.1.4< /version>
< /dependency>
< !-- SpringBoot - MyBatis 逆向工程 -->
< dependency>
< groupId> org.mybatis.generator< /groupId>
< artifactId> mybatis-generator-core< /artifactId>
< version> 1.3.2< /version>
< /dependency>
< !-- mysql连接需要的类 -->
< dependency>
< groupId> mysql< /groupId>
< artifactId> mysql-connector-java< /artifactId>
< /dependency>

如上我们需要引入四个依赖一个是jpa依赖,一个是通用Mapper自身的依赖,一个是MyBatis逆向工程需要的依赖,最后就是连接mysql的依赖。依赖引入之后,接下来就是配置逆向工程。(PS:逆向工程就是帮助我们生成Model,Dao以及XML)。
第二步:配置逆向工程
  1. 首先我们需要在resources目录下新建一个属性文件??config.properties??用来定义数据库连接,生成类的目标包等信息。定义如下:
#jdbcConnection 连接
jdbc.driverClass=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/mybatisdemo?useUnicode=true& characterEncoding=utf8
jdbc.user=root
jdbc.password=admin

#targetProject是包所在的位置
#mac 下
targetProject=/Volumes/Develop/WorkSpace/auto_java/auto-mapper-demo/src/main/

#model的目标包名
modelTargetPackage=com.jay.model
#dao的目标包名
daoTargetPackage=com.jay.mapper

  1. 前面我们新建的属性文件其实是给后面的XML文件用的,接下来我们就来看看XML文件??generatorConfig.xml??吧。
< !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="config.properties"/>

< context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
< property name="beginningDelimiter" value="https://www.songbingjia.com/android/`"/>
< property name="endingDelimiter" value="https://www.songbingjia.com/android/`"/>

< !--配置生成类的插件-->
< plugin type="tk.mybatis.mapper.generator.MapperPlugin">
< property name="mappers" value="https://www.songbingjia.com/android/tk.mybatis.mapper.common.Mapper"/>
< property name="caseSensitive" value="https://www.songbingjia.com/android/true"/>
< /plugin>

< !--连接数据库-->
< jdbcConnection driverClass="$jdbc.driverClass"
connectionURL="$jdbc.url"
userId="$jdbc.user"
password="$jdbc.password">
< /jdbcConnection>

< !--指定model的生成路径-->
< javaModelGenerator targetPackage="$modelTargetPackage"
targetProject="$targetProject/java"/>
< !--指定mapper的生成路径-->
< sqlMapGenerator targetPackage="mapper"
targetProject="$targetProject/resources"/>
< !--指定dao的生成路径-->
< javaClientGenerator targetPackage="$daoTargetPackage"
targetProject="$targetProject/java"
type="XMLMAPPER"/>
< !--指定需要生成Model,Dao,Xml的数据表-->
< table tableName="classroom"> < /table>

< /context>
< /generatorConfiguration>

需要注意的是定义的属性名要与属性文件中的一致,比如jdbc.driverClass
第三步:定义逆向工程的启动类
将相关的必要的配置弄好之后,接下来我们就来定义逆向工程的启动类。这个启动类的代码也相对比较简单,代码如下所示:
public class Generator

public static InputStream getResourceAsStream(String path)
return Thread.currentThread().getContextClassLoader().getResourceAsStream(path);


public static void main(String[] args) throws Exception
List< String> warnings = new ArrayList< String> ();
boolean overwrite = true;
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(getResourceAsStream("generatorConfig.xml"));
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
for (String warning : warnings)
System.out.println(warning);



第四步 测试逆向工程
准备工作都做好之后,接下来,我们就来测试生成model,dao,XML等文件吧。我们直接运行Generator类正常的话就可以得到生成的Model,Dao和XML,生成结果如下图所示:

怎么用? 如何调用方法?
【最简单的通用Mapper的使用手册不了解一下()】说完了逆向工程,生成了我们需要的Dao类之后,接下来我们就要看看怎么使用了Dao类,调用其拥有的通用方法,其实调用也相当简单。下面我先给出一个调用示例:
我们定义了一个???ClassroomServiceImpl???业务类,并且实现了三个方法,分别是调用??insert???方法保存班级,调用??selectByPrimaryKey???方法根据主键查找班级,调用??select??方法根据班级名称查找班级。这些方法都是ClassroomMapper接口中自带的方法。
@Service
public class ClassroomServiceImpl implements ClassroomService
@Autowired
private ClassroomMapper classroomMapper;

//保存班级
@Override
public boolean saveClassroom(Classroom classroom)
int result

    推荐阅读