MyBatis逆向工程——Java代码自动生成
程序员文章站
2022-04-19 20:33:20
关于代码自动生成,网上呢有很多工具,也有不同的方法,MyBatis是我接触到的第一款代码自动生成器,比较简单,代码量也比较少,也比较好理解,好了废话不多说,下面就给大家说一下实现方法及代码解释: 我们新建一个普通的Java项目,这里我使用的工具是idea,是一款很强大的代码编写工具。 首先是要实现代 ......
关于代码自动生成,网上呢有很多工具,也有不同的方法,mybatis是我接触到的第一款代码自动生成器,比较简单,代码量也比较少,也比较好理解,好了废话不多说,下面就给大家说一下实现方法及代码解释:
我们新建一个普通的java项目,这里我使用的工具是idea,是一款很强大的代码编写工具。
首先是要实现代码自动生成所需要的jar包
其次编写一个java类
import java.io.file;
import java.io.ioexception;
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.xmlparserexception;
import org.mybatis.generator.internal.defaultshellcallback;
public class generatorsqlmap {
public void generator() throws exception{ list<string> warnings = new arraylist<string>(); boolean overwrite = true; //指定 逆向工程配置文件 file configfile = new file("generatorconfig.xml"); configurationparser cp = new configurationparser(warnings); configuration config = cp.parseconfiguration(configfile); defaultshellcallback callback = new defaultshellcallback(overwrite); mybatisgenerator mybatisgenerator = new mybatisgenerator(config, callback, warnings); mybatisgenerator.generate(null); } public static void main(string[] args) throws exception { try { generatorsqlmap generatorsqlmap = new generatorsqlmap(); generatorsqlmap.generator(); } catch (exception e) { e.printstacktrace(); } }
}
还有一个配置文件
<!doctype generatorconfiguration
public "-//mybatis.org//dtd mybatis generator configuration 1.0//en"
"">
<!-- targetproject:生成pojo类的位置 --> <javamodelgenerator targetpackage="cn.lht.pojo" targetproject=".\src"> <!-- enablesubpackages:是否让schema作为包的后缀 --> <property name="enablesubpackages" value="false" /> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimstrings" value="true" /> </javamodelgenerator> <!-- targetproject:mapper映射文件生成的位置 --> <sqlmapgenerator targetpackage="cn.lht.mapper" targetproject=".\src"> <!-- enablesubpackages:是否让schema作为包的后缀 --> <property name="enablesubpackages" value="false" /> </sqlmapgenerator> <!-- targetpackage:mapper接口生成的位置 --> <javaclientgenerator type="xmlmapper" targetpackage="cn.lht.mapper" targetproject=".\src"> <!-- enablesubpackages:是否让schema作为包的后缀 --> <property name="enablesubpackages" value="false" /> </javaclientgenerator> <!-- 指定数据库表 --> <table schema="" tablename="tb_content"></table> <table schema="" tablename="tb_content_category"></table> <table schema="" tablename="tb_item"></table> <table schema="" tablename="tb_item_cat"></table> <table schema="" tablename="tb_item_desc"></table> <table schema="" tablename="tb_item_param"></table> <table schema="" tablename="tb_item_param_item"></table> <table schema="" tablename="tb_order"></table> <table schema="" tablename="tb_order_item"></table> <table schema="" tablename="tb_order_shipping"></table> <table schema="" tablename="tb_user"></table> </context>
注意这个配置文件跟src目录是同级的
具体的代码注释我都在代码里边做了解释
然后运行就可以了
注意:如果你已经运行过一次,但是生成的代码你需要有所改动需要再次生成的话,你必须得把之前已经运行所生成的所有代码以及包结构都删除掉,否则就会出错。
如有意见或者更好的自动生成代码的方法,欢迎评论。
上一篇: Oracle之表空间
下一篇: 域名投资 靠域名赚钱的三点体会经验分享