使用mybatis generator可以快速生成实体类、dao类和mapper文件。有两种方式,现在说的是比较灵活的方式。本文栗子使用的是idea,目录结构为maven项目的结构。
1.在pom.xml文件中加入mybatis generator需要的jar包
<!-- mybatis核心包 --> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis</artifactid> <version>3.3.0</version> </dependency> <!-- mybatis-generator-core 反向生成java代码--> <dependency> <groupid>org.mybatis.generator</groupid> <artifactid>mybatis-generator-core</artifactid> <version>1.3.5</version> </dependency>
2.写相关的配置文件,mbgconfiguration.xml和jdbc.properties;
mbgconfiguration.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"> <!-- 第一种mybatis逆向生成xml配置 --> <generatorconfiguration> <properties resource="jdbc.properties" /> <context id="sqlservertables" targetruntime="mybatis3"> <!-- 生成的pojo,将implements serializable--> <plugin type="org.mybatis.generator.plugins.serializableplugin"></plugin> <commentgenerator> <!-- 是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressallcomments" value="true" /> </commentgenerator> <!-- 数据库链接url、用户名、密码 --> <jdbcconnection driverclass="${jdbc.driverclassname}" connectionurl="${jdbc.url}" userid="${jdbc.username}" password="${jdbc.password}"> </jdbcconnection> <!-- 默认false,把jdbc decimal 和 numeric 类型解析为 integer true,把jdbc decimal 和 numeric 类型解析为java.math.bigdecimal --> <javatyperesolver> <property name="forcebigdecimals" value="false" /> </javatyperesolver> <!-- 生成model模型,对应的包路径,以及文件存放路径(targetproject),targetproject可以指定具体的路径,如./src/main/java, 也可以使用“maven”来自动生成,这样生成的代码会在target/generatord-source目录下 --> <!--<javamodelgenerator targetpackage="com.joey.mybaties.test.pojo" targetproject="maven">--> <javamodelgenerator targetpackage="com.niit.test.model" targetproject="src/main/java"> <property name="enablesubpackages" value="true"/> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimstrings" value="true" /> </javamodelgenerator> <!--对应的mapper.xml文件 --> <sqlmapgenerator targetpackage="com.niit.test.mapper" targetproject="src/main/java"> <property name="enablesubpackages" value="true"/> </sqlmapgenerator> <!-- 对应的mapper接口类文件 --> <javaclientgenerator type="xmlmapper" targetpackage="com.niit.test.dao" targetproject="src/main/java"> <property name="enablesubpackages" value="true"/> </javaclientgenerator> <!-- 列出要生成代码的所有表,这里配置的是不生成example文件 --> <table tablename="tb_user" domainobjectname="userinfo" enablecountbyexample="false" enableupdatebyexample="false" enabledeletebyexample="false" enableselectbyexample="false" selectbyexamplequeryid="false" > <property name="useactualcolumnnames" value="false"/> </table> </context> </generatorconfiguration>
jdbc.properties文件如下:
####################### db connection config ####################### ###----------------- db type ----------------- databasetype=mysql ###----------------- mysql5+ ----------------- jdbc.driverclassname=com.mysql.jdbc.driver jdbc.url=jdbc:mysql://localhost:3306/tb_mybatis?useunicode=true&characterencoding=utf-8 jdbc.username=root jdbc.password=12321
3.写genmain类文件;
package com.niit.test.main; import java.io.file; import java.io.ioexception; import java.sql.sqlexception; import java.util.arraylist; import java.util.list; import org.mybatis.generator.api.mybatisgenerator; import org.mybatis.generator.config.configuration; import org.mybatis.generator.config.xml.configurationparser; import org.mybatis.generator.exception.invalidconfigurationexception; import org.mybatis.generator.exception.xmlparserexception; import org.mybatis.generator.internal.defaultshellcallback; /** * created by audrey on 2018/11/19 17:05 */ public class genmain { public static void main(string[] args) { list<string> warnings = new arraylist<string>(); boolean overwrite = true; string gencfg = "/mbgconfiguration.xml"; file configfile = new file(genmain.class.getresource(gencfg).getfile()); configurationparser cp = new configurationparser(warnings); configuration config = null; try { config = cp.parseconfiguration(configfile); } catch (ioexception e) { e.printstacktrace(); } catch (xmlparserexception e) { e.printstacktrace(); } defaultshellcallback callback = new defaultshellcallback(overwrite); mybatisgenerator mybatisgenerator = null; try { mybatisgenerator = new mybatisgenerator(config, callback, warnings); } catch (invalidconfigurationexception e) { e.printstacktrace(); } try { mybatisgenerator.generate(null); } catch (sqlexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); } catch (interruptedexception e) { e.printstacktrace(); } } }
4.运行genmain类文件,即可生成实体类、dao类和mapper文件。
每次修改数据库时,都可以把原来生成的文件删掉,重新运行genmain文件重新生成。
如对本文有疑问, 点击进行留言回复!!
IDEA使用Gradle构建SpringBoot项目工程的详细教程
springboot+mybatis配置clickhouse实现插入查询功能
IDEA遇到Internal error. Please refer to http://jb. gg/ide/critical-startup-errors的问题及解决办法
网友评论