MyBatis Generator的简单使用
为什么要使用MyBatis Generator
MyBatis Generator作为MyBatis必备的插件,它可以帮我们自动生成mapper类,pojo类以及xml文件,能极大的提升效率。下面就来了解一下如何使用这款插件吧。
配置MyBatis Generator
打开MyBatis Generator官网,我们点击左边目录上的Quick Start Guide快速查看一下介绍,了解到这就是一个jar包,当然我们可以使用Maven的方式来安装,如下图所示,点击With Maven进去,把里面的配置拷贝到自己的pom.xml里面。版本可能有变化,具体可以参照官网。
下面我们就可以开始来使用了,首先我们往下面看看怎样使用,如下图所示
我们可以通过命令行执行上面的两个命令运行,
mvn mybatis-generator:generate ------------生成相应文件
mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate -------------生成相应文件,但会覆盖已经生成的文件
我们在命令行运行第一条命令,结果如下
看第一条错误提示是说generatorConfig.xml不存在,那我就在resources目录下建立该文件,接下来怎么写呢?
配置generatorConfig.xml
我们继续看官网,如下图所示
这个应该就是我们需要的,拷贝下来放到我们的文件中,肯定是需要改动的,我们看一下这些元素是啥意思吧。具体请查看官方文档。
<generatorConfiguration> ---根节点
<classPathEntry> ----添加类路径到MyBatis Generator (MBG),如jdbc驱动
<context> ---作为环境对象的父节点,可以放一些子节点用于配置
<jdbcConnection> ---连接数据库,将配置信息放入其中,如url,user,password
<javaTypeResolver> ---<javaTypeResolver>元素用于定义Java Type Resolver的属性。
Java类型解析器用于根据数据库列信息计算Java类型。
<javaModelGenerator> ---Model类生成的信息,有两个必要属性,targetPackage(目标包)和targetProject(目标项目)
<sqlMapGenerator> ---生成sql语句的信息对应的xml文件,有两个必要属性,targetPackage和targetProject
<javaClientGenerator> ---mapper类生成的信息,有三个必要属性,type、targetPackage和targetProject
<table> ---对应数据库中的表,必填属性tableName
根据自己的情况更改,我的更改如下图所示
<?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>
<classPathEntry location="E:\DevelopTool\mysql-connector-java-5.1.6.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/mall"
userId="root"
password="admin">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<javaModelGenerator targetPackage="com.imooc.mall.pojo" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.imooc.mall.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table tableName="mall_order" domainObjectName="Order" ></table>
</context>
</generatorConfiguration>
接下来我们用上面的命令运行一下,mvn mybatis-generator:generate,运行成功,分别生成了OrderMapper、Order、OrderExample、OrderMapper.xml,打开看一下,其他几个都不陌生,这个OrderExample是干啥的,我们先不管这个,先看这个生成的mapper能不能用吧。
测试
我们测试一下最简单的主键查询吧,新建一个测试文件,通过IDEA自动生成,如图所示
勾选要测试的方法,我们选择selectByPrimaryKey()生成,别忘了在mapper类里加上@Mapper注解,否则会找不到mapper类
package com.imooc.mall.dao;
import com.imooc.mall.MallApplicationTests;
import com.imooc.mall.pojo.Order;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import static org.junit.Assert.*;
/**
* Created by seceretrui 2020/03/25/17:04
*/
public class OrderMapperTest extends MallApplicationTests {
@Autowired
private OrderMapper orderMapper;
@Test
public void selectByPrimaryKey() throws Exception {
Order order = orderMapper.selectByPrimaryKey(1);
System.out.println(order.toString());
}
}
结果如下,MyBatis Generator的简单使用就到这里结束,如有错误请多多指教,感谢阅读(●’◡’●)ノ
上一篇: 南朝刘裕称帝后为什么要杀尽司马氏?
下一篇: 实例(二)——制作个人简历