龙空技术网

Intellij IDEA系列之 _mybatis自动生成代码

爱音乐的程序员小新人 398

前言:

目前同学们对“ideaspringoracle”大概比较重视,朋友们都想要知道一些“ideaspringoracle”的相关知识。那么小编也在网上搜集了一些对于“ideaspringoracle””的相关内容,希望同学们能喜欢,兄弟们快快来了解一下吧!

sweets_wn

2018-08-30 11:05:22

Intellij IDEA系列(五)__mybatis自动生成代码

记得多年前用ibatis的时候,写配置文件还是蛮费劲的,而且容易出问题,这两天看mybatis,代码都可以自动生成了。利用mybatis-generator插件,可以自动生成对应的model、dao和mapper(复杂sql手动编写),很大程度上减少了手动编码的时间,而且还能一定程度上避免配置错误问题。下面就Maven插件的方式(还有命令行、eclipse插件两种实现方式)做详细说明,mark下,也备后来者参考。

环境

Intellij IDEA 2018

JDK1.8

Tomcat9

Maven3

一、建一个基于maven的项目(IDEA中,一个项目即一个Module),此处不做累述。下图是我用于测试的project,目录结构可供参考:

二、pom.xml文件配置

<build>标签下增加插件,配置如下:

<!-- mybatis-generator自动生成代码插件 --><plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <configuration> <!-- mybatis用于生成代码的配置文件 --> <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.30</version> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>3.4.0</version> </dependency> </dependencies></plugin>

三、generatorConfig.xml文件配置

该文件的存放路径需与pom.xml中配置的路径保持一致,如上一步,文件路径为:/src/main/resources。文件内容如下:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" ""><generatorConfiguration> <!-- 引入配置文件 --> <properties resource="application.properties"/> <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <!-- 生成的文件编码 --> <property name="javaFileEncoding" value="utf-8"/> <!-- 集成通用Mapper --> <plugin type="tk.mybatis.mapper.generator.MapperPlugin"> <property name="mappers" value="com.test.springboot.common.dao.MyMapper"/>  </plugin> <!-- 生成注释 --> <commentGenerator> <property name="suppressAllComments" value="false"/> </commentGenerator> <!-- 数据库连接属性(application.properties文件中取值) --> <jdbcConnection driverClass="${spring.datasource.driverClassName}" connectionURL="${spring.datasource.url}" userId="${spring.datasource.username}" password="${spring.datasource.password}"/> <!-- 生成实体类配置 --> <javaModelGenerator targetPackage="com.test.springboot.entity" targetProject="src/main/java"/> <!-- 生成mapper.xml配置文件 --> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/> <!-- 生成mapper接口文件配置 --> <javaClientGenerator targetPackage="com.test.springboot.mapper" targetProject="src/main/java" type="XMLMAPPER"/> <!-- 罗列要生成哪些表 , %表示生成全部的表 --> <table tableName="%"> <!--mysql 配置 --> <generatedKey column="id" sqlStatement="Mysql" identity="true"/> <!--oracle 配置--> <!--<generatedKey column="id" sqlStatement="select SEQ_{1}.nextval from dual" identity="false" type="pre"/>--> </table> <!-- 罗列要生成的表,多个实体类复制多份该配置即可 --> <!--<table tableName="user_info" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table>--> </context></generatorConfiguration>

注意:以上配置中的文件路径需做对应修改。MyMapper.java源码如下:

package com.test.springboot.common.dao;import tk.mybatis.mapper.common.Mapper;import tk.mybatis.mapper.common.MySqlMapper;public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> { //FIXME 特别注意,该接口不能被扫描到,否则会出错}

四、自动生成代码

如上图,第3步右击

等待。运行结束后,控制台日志如下:

查看自动生成的代码。

1. model,即实体类,如下图:

2. dao,即mapper接口

注意:接口名称需与xml配置文件对应。

3. mapper,即xml配置,sql写在该文件

至此,自动生成代码结束。

标签: #ideaspringoracle