10.mybatis逆向工程
通过数据库连接,反向的创建mapper 代理接口,实体对象,dao 层的代理接口,
Ps:实体类只能对单表进行逆向,表间关联不会映射
10.1导入需要的jar包
Mybatis-generator-core.jar 提供mybatis逆向工程的支持
创建generatorConfig.xml 逆向工程的配置文件作为file保存(文件名可以没有限制随便取一个)
http://www.mybatis.org/generator/configreference/xmlconfig.html
GenreatorConfig.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="F:/toolandjar/mybatis/mysql-connector-java-5.1.24.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator> <property name="suppressDate" value="true"/> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--数据库链接地址账号密码--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost/test" userId="root" password="123456"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!--生成Model类存放位置--> <javaModelGenerator targetPackage="com.ssm.entity" targetProject="src"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!--生成映射文件存放位置--> <sqlMapGenerator targetPackage="com.ssm.config" targetProject="src"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!--生成DaoMapper类存放位置--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.ssm.dao" targetProject="src"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!--生成对应表及类名,需要记住的一点是逆向工程无法生成关联关系,只能生成单表操作--> <table tableName="author" domainObjectName="Author" > </table> <table tableName="blog" domainObjectName="Blog" ></table> </context> </generatorConfiguration> |
10.2 创建一个普通的java类
用来读取配置文件的操作,按照配置文件中的配置,在该项目中生成对应的文件
Create.java |
package com.ssm.test;
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;
publicclass Create { publicstaticvoid generator() throws Exception{ List<String> warnings = new ArrayList<String>(); boolean overwrite = true; //项目根路径不要有中文,我的有中文,所以使用绝对路径 File configFile = new File("F:/genreatorConfig.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); } publicstaticvoid main(String[] args) { try { generator(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |