编写一些数据库固定套路如CRUD操作的代码,时间久了,其实还真的是一件比较繁琐乏味的事情。肯定有人会想到,既然是固定套路,有着固定的模式,完全可以用代码工具来实现嘛!哈哈,你别不信,还真的有人开发出了这样的优秀的工具,那就是Mybatis generator。
1.1 创建Springboot工程
创建一个Springboot 模块工程,操作步骤可以参考之前写的《使用IDEA搭建和部署SpringBoot多模块项目(Multi-Module)》,创建后的springboot-mybatisgenerator目录如下图。
directory.png
dao:数据库mapper接口存放目录
entity:存放数据表对应的bean实体存放目录
service:服务层接口类存放目录
mapper:存放xml文件目录
2.1 配置mybatis-generator插件
数据库表创建好后,就可以使用插件来自动生成mapper和xml文件了,但在这之前,需对插进进行一些配置。
mybatis-generator主要包括两步:
第一步设置插件的配置参数,这里需要配置的信息包括4个
- 数据库相关信息配置,包括驱动名称、数据库名、用户名、密码
- 生成实体类的位置,确保targetPackage包名设置正确
- 生成的Mpper.xml存放位置,这里将mapper保存到resources目录下的mapper文件夹中
- 接口文件的存放位置
mybatis-generator-config.xml插件配置文件
<!DOCTYPE generatorConfiguration PUBLIC
"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
<context id="context" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true"/>
<property name="suppressDate" value="true"/>
</commentGenerator>
<!-- 数据库的相关配置 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://192.168.245.101:3306/studyDB"
userId="root"
password="xxxxxx"/>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 实体类生成的位置 -->
<javaModelGenerator targetPackage="com.qinghaihu.springbootmybatisgenerator.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- *Mapper.xml 文件的位置 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- Mapper 接口文件的位置 -->
<javaClientGenerator targetPackage="com.qinghaihu.springbootmybatisgenerator.dao" targetProject="src/main/java" type="XMLMAPPER">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- 相关表的配置 -->
<table tableName="sys_user" domainObjectName="SysUser" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false"/>
<!--
<table tableName="department" domainObjectName="Department" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false"/>
-->
</context>
</generatorConfiguration>
第二步配置运行时的参数
在pom文件build中增加plugin节点配置
<build>
<plugins>
<!-- mybatis generator plugin config -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<!--配置文件的位置-->
<configurationFile>${basedir}/src/main/resources/mybatisGeneratorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
配置好插件后,IntelliJ IDEA右侧的maven面板plugin中,就能看到添加的mybatis-generator.
mybatis generator plugin.png
双击mybatis-generator:generate后,在指定目录自动生成entity、mapper和xml文件。
generated files.png
mapper文件中,CRUD相关操作代码插件也已经帮我们生成。
Mapper detalis.png
网友评论