在使用mvc架构编写代码时,通常都是写controller、service、dao及xml。其中IDEA有一款插件easycode,可以快速生成这些,可大大提高代码效率。
一、使用插件生成代码
1、安装easycode插件
File→settings→Plugin

2、mysql数据库生成代码
1、事先需要准备一个数据库zwh,并创建一个表,脚本如下:
DROP TABLE IF EXISTS `t_sys_role`; CREATE TABLE `t_f_role` ( `role_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色编号', `role_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色名称', `role_desc` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色描述', `create_user` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `update_user` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`roleno`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
如下所示:
![]()
2、创建一个spring boot工程,创建包,如com.zwh,在右侧选择mysql数据库

Database→ + → Data source → mysql

注意:测试连接之前先要下载驱动。

点击右侧的矩形框,选择数据库。此时可以看到数据的表,如下所示

3、选中表t_sys_role,右键选中EasyCodeMybatisCodeHelper,然后点击Generate Code

在弹出的页面选择需要生成的代码所在的包。
根据需要进行勾选,不一定要生成所有的代码

3)点击OK生成对应的代码,xml会自动放在resources目录下的mapper中,可根据需要对生成的代码进行修改
打开实体类可以看出,它不仅生成的所有的字段,并自动将下划线转为驼峰模式,还生成了get和set方法。
在根据表创建对象且字段很多时,这个插件就显得格外方便。
4、使用IDEA执行SQL语句
上述在连接到数据库后,IDEA也可以使用SQL语句修改表结构及数据。
打开SQL终端:右键表名,选择+ New,点击Query Console,即可打开终端

输入sql语句,点击左上角的执行按钮即可执行

3、oracle数据生成代码

注意:生成的xml文件中将insert和update方法删除,否则会报错:Mapped Statements collection already contains value for com.ccb.rest.dao.CustInfoDao.insert,
即insert方法和tkmapper中的insert方法冲突。
二、使用generatorConfig.xml自动生成代码
注意:环境变量中的java必须是1.8的

1、generatorConfig.xml文件在项目根目录中

(1)、pom文件中添加:
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<configurationFile>
mybatis-generator/generatorConfig.xml
</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
(2)、generatorConfig.xml配置如下:
<?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> <context id="mysqlgenerator" targetRuntime="MyBatis3"> <property name="autoDelimitKeywords" value="true"/> <!--可以使用``包括字段名,避免字段名与sql保留字冲突报错--> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <!-- 自动生成toString方法 --> <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/> <!-- 自动生成equals方法和hashcode方法 --> <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/> <!-- 非官方插件 https://github.com/itfsw/mybatis-generator-plugin --> <!-- 查询单条数据插件 --> <plugin type="com.itfsw.mybatis.generator.plugins.SelectOneByExamplePlugin"/> <!-- 查询结果选择性返回插件 --> <plugin type="com.itfsw.mybatis.generator.plugins.SelectSelectivePlugin"/> <!-- Example Criteria 增强插件 --> <plugin type="com.itfsw.mybatis.generator.plugins.ExampleEnhancedPlugin"/> <!-- 数据Model属性对应Column获取插件 --> <plugin type="com.itfsw.mybatis.generator.plugins.ModelColumnPlugin"/> <!-- 逻辑删除插件 --> <plugin type="com.itfsw.mybatis.generator.plugins.LogicalDeletePlugin"> <!-- 这里配置的是全局逻辑删除列和逻辑删除值,当然在table中配置的值会覆盖该全局配置 --> <!-- 逻辑删除列类型只能为数字、字符串或者布尔类型 --> <property name="logicalDeleteColumn" value="deleted"/> <!-- 逻辑删除-已删除值 --> <property name="logicalDeleteValue" value="1"/> <!-- 逻辑删除-未删除值 --> <property name="logicalUnDeleteValue" value="0"/> </plugin> <commentGenerator> <property name="suppressDate" value="true"/> <!--<property name="suppressAllComments" value="true"/>--> </commentGenerator> <!--数据库连接信息--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.10.133:3306/dts-shop?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&verifyServerCertificate=false&useSSL=false" userId="root" password="123456"/> <javaTypeResolver> <property name="useJSR310Types" value="true"/> </javaTypeResolver> <javaModelGenerator targetPackage="com.qiguliuxing.dts.db.domain" targetProject="src/main/java"/> <sqlMapGenerator targetPackage="com.qiguliuxing.dts.db.dao" targetProject="src/main/resources"/> <javaClientGenerator type="XMLMAPPER" targetPackage="com.qiguliuxing.dts.db.dao" targetProject="src/main/java"/> <!--表名--> <table tableName="dts_monitor"> <generatedKey column="monitor_id" sqlStatement="MySql" identity="true"/> </table> </context> </generatorConfiguration>
(3)、点击mybatis-generator:generate运行

生成四个文件

2、generatorConfig.xml文件在resources目录下
(1)、pom文件中添加:
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
(2)、generatorConfig.xml配置如下:
<?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:\apache-maven-3.5.2\repository\mysql\mysql-connector-java\5.1.34\mysql-connector-java-5.1.34.jar"/> <context id="MysqlTables" targetRuntime="MyBatis3" defaultModelType="flat"> <property name="javaFileEncoding" value="UTF-8"/> <!-- 分页相关 --> <plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"/> <!-- 带上序列化接口 --> <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/> <commentGenerator> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--数据库连接配置--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://数据库ip:端口/数据库名?useUnicode=true&characterEncoding=UTF-8" userId="用户名" password="密码"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- 根据工程修改targetPackage,工程目录中新建do子目录 --> <javaModelGenerator targetPackage="com.xx.xx.do" targetProject="src/main/java"> <property name="enableSubPackages" value="false"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <sqlMapGenerator targetPackage="sqlmap" targetProject="src/main/resources"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!-- 根据工程修改targetPackage,mapper下新建子目录 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.xx.xx.account" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- 添加表和实体的映射,实体以DO结尾,表和表中的字段以下划线_分隔 --> <table tableName="表名" domainObjectName="表名(驼峰命名)DO"> <generatedKey column="id" sqlStatement="JDBC" identity="true"/> </table> </context> </generatorConfiguration>
(3)、点击mybatis-generator:generate运行

浙公网安备 33010602011771号