最简单的通用Mapper的使用手册不了解一下?
Posted 飞飞1024
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最简单的通用Mapper的使用手册不了解一下?相关的知识,希望对你有一定的参考价值。
目录
- 怎么用?
- 方法哪里来的
通用Mapper的定义
通用Mapper 是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。开发人员可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法,极其方便的使用MyBatis单表的增删改查。
本文下从如下三个方面来介绍:
- SpringBoot如何整合通用mapper
- 如何使用通用Mapper的方法
- 通用方法怎么来的
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)。
第二步:配置逆向工程
- 首先我们需要在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
- 前面我们新建的属性文件其实是给后面的XML文件用的,接下来我们就来看看XML文件
generatorConfig.xml
吧。
<generatorConfiguration>
<!--引入属性文件-->
<properties resource="config.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--配置生成类的插件-->
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
<property name="caseSensitive" value="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,生成结果如下图所示:
怎么用?
如何调用方法?
说完了逆向工程,生成了我们需要的Dao类之后,接下来我们就要看看怎么使用了Dao类,调用其拥有的通用方法,其实调用也相当简单。下面我先给出一个调用示例:
我们定义了一个ClassroomServiceImpl
业务类,并且实现了三个方法,分别是调用insert
方法保存班级,调用selectByPrimaryKey
方法根据主键查找班级,调用select
方法根据班级名称查找班级。这些方法都是ClassroomMapper接口中自带的方法。
public class ClassroomServiceImpl implements ClassroomService
private ClassroomMapper classroomMapper;
//保存班级
public boolean saveClassroom(Classroom classroom)
int result 以上是关于最简单的通用Mapper的使用手册不了解一下?的主要内容,如果未能解决你的问题,请参考以下文章