MyBatis逆向工程,简称MBG。是一个专门为MyBatis框架使用者定制的代码生成器。可以快速的根据表生成对应的映射文件,接口,以及Bean类对象。
在Mybatis中,有一个可以自动对单表生成的增,删,改,查代码的插件。叫 mybatis-generator-core-1.3.2。
它可以帮我们对比数据库表之后,生成大量的这个基础代码。
这些基础代码有:
1、数据库表对应的javaBean对象
2、这些javaBean对象对应的Mapper接口
3、这些Mapper接口对应的配置文件
(一个"魔术",将p1变成p2,惊喜中夹杂着惊吓)
本例用到的数据库和数据表(数据请根据个人喜好添加)
create database mbg; use mbg; create table t_user( `id` int primary key auto_increment, `username` varchar(30) not null unique, `password` varchar(40) not null, `email` varchar(50) ); create table t_book( `id` int primary key auto_increment, `name` varchar(50), `author` varchar(50), `price` decimal(11,2), `sales` int, `stock` int );
和以前项目一样的的导入所需要的jar包和一直在使用的log4j.properties和mybatis.xml文件等,需要新掌握的是:
mbg.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="DB2Tables" targetRuntime="MyBatis3Simple"> <commentGenerator> <property name="suppressAllComments" value="true" /> commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mbg" userId="root" password="root"> jdbcConnection> <javaTypeResolver > <property name="forceBigDecimals" value="false" /> javaTypeResolver> <javaModelGenerator targetPackage="com.pojo" targetProject=".\src"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> javaModelGenerator> <sqlMapGenerator targetPackage="com.mapper" targetProject=".\src"> <property name="enableSubPackages" value="true" /> sqlMapGenerator> <javaClientGenerator type="XMLMAPPER" targetPackage="com.mapper" targetProject=".\src"> <property name="enableSubPackages" value="true" /> javaClientGenerator> <table tableName="t_user" domainObjectName="User" >table> <table tableName="t_book" domainObjectName="Book" >table> context> generatorConfiguration>
生成mbyatis的代码(每次生成都要先把原来的给删了):
package mbg; import java.io.File; 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.internal.DefaultShellCallback; public class Runner { public static void main(String[] args) throws Exception { Listwarnings = new ArrayList (); boolean overwrite = true; File configFile = new File("mbg.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); } }
然后运行后刷新项目便可得到一些没有费吹灰之力就可以使用的代码了
诸如此类