“进阶:逆向工具”的版本间差异
跳到导航
跳到搜索
(→执行生成程序) |
|||
第87行: | 第87行: | ||
=== 执行生成程序 === | === 执行生成程序 === | ||
<syntaxhighlight lang="java"> | |||
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(); | |||
} | |||
} | |||
</syntaxhighlight> | |||
mybatis-generator生成的mapper.xml和mapper.java和po: | |||
: [[File:mybatis-generator生成的mapper.xml和mapper.java和po.png|300px]] | |||
=== 使用生成的代码 === | === 使用生成的代码 === | ||
== 注意 == | == 注意 == |
2020年10月13日 (二) 01:05的版本
关于
由数据库生成java代码,使用官方网站的mapper自动生成工具mybatis-generator-core-1.3.2,来生成:po类和mapper映射文件、mapper接口。
下载
(Github项目下载) (另外,IDE可能会有插件工具,可以进行代码生成)
使用
mapper生成配置文件
在generatorConfig.xml中配置mapper生成的详细信息,注意改下几点:
- 添加要生成的数据库表
- po文件所在包路径
- mapper文件所在包路径
配置文件如下:
<?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="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis"
userId="root"
password="mysql">
</jdbcConnection>
<!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
userId="yycg"
password="yycg">
</jdbcConnection> -->
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
NUMERIC 类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="cn.itcast.ssm.po"
targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="cn.itcast.ssm.mapper"
targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="cn.itcast.ssm.mapper"
targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定数据库表 -->
<table tableName="items"></table>
<table tableName="orders"></table>
<table tableName="orderdetail"></table>
<table tableName="user"></table>
</context>
</generatorConfiguration>
执行生成程序
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();
}
}
mybatis-generator生成的mapper.xml和mapper.java和po: