大家好,又见面了,我是你们的朋友全栈君。
复习逆向工程的使用,记录方便以后参考
mybatis,一个相对于hibernate的轻量级DAO框架,它的逆向工程可以很方便的从数据库到生成对应的entity和mapper接口。
首先准备:
准备
pom.xml引入mybatis generator的jar,若不是maven工程,可以把jar下载下来导进工程的lib下即可
01.引入依赖(加入jar)
进入maven中央仓库:https://mvnrepository.com/ 搜索mybatis generator
代码语言:javascript复制<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
02.创建表
这里俩表的关系是:员工中的d_id是外键,dept表的主键
第一:创建mybatis的全局配置文件mybatis-config.xml
注:该文件是在classpath目录下的
配置一些全局信息
进入mybatis的github仓库参看案例进行配置:搜索mybatis–》进入mybatis github—》查看doc,最后的查看链接:mybatis getting started
找到:
把这些copy到你自己新建的mybatis-config.xml文件中,最后保留并配置的信息是如下:这些参数都可以在mybatis的doc相关目录下找到如何配置,我们都可以直接copy然后稍作修改
代码语言:javascript复制<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--驼峰命名规则-->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<!--包类型-->
<typeAliases>
<package name="cn.mym.crud.bean"/>
</typeAliases>
</configuration>
第二:配置逆向工程配置文件:mbg.xml
注:此文件路径可以放在项目根目录,方便之后java程序的查找。这里我放在项目的根目录下
配置的参考:百度搜索mybatis generator—》进入github页面—》
进入参考文档页面 http://www.mybatis.org/generator/ —–》Quick Start Guide—》右边内容的XML Configuration File Reference
查看配置。连接:http://www.mybatis.org/generator/configreference/xmlconfig.html 如图:
然后copy官方给出的配置参考,最后我进行稍作修改之后如下:
代码语言:javascript复制<?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="MyBatis3">
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql:///ssm_crud"
userId="root"
password="123">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--指定javabean生成的位置-->
<javaModelGenerator
targetPackage="cn.mym.crud.entity"
targetProject=".srcmainjava">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--指定sql映射文件生成的位置-->
<sqlMapGenerator
targetPackage="mapper"
targetProject=".srcmainresources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!--指定dao接口生成的位置:mapper接口-->
<javaClientGenerator
type="XMLMAPPER"
targetPackage="cn.mym.crud.dao"
targetProject=".srcmainjava">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!--指定每个表的生成策略-->
<table tableName="tbl_emp" domainObjectName="Employee"></table>
<table tableName="tbl_dept" domainObjectName="Department"></table>
</context>
</generatorConfiguration>
第三:通过java程序进行逆向工程
java代码官方也给出案例:
我们在建立一个测试类copy代码,正确的导入相关mybatis generator的包后,执行即可:
代码语言:javascript复制public class GBMTest {
public static void main(String[] args) throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {
List<String> warnings = new ArrayList<String>();
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);
}
}
执行后查看配置好的bean和mapper生成的位置,刷新可以看到:
附加:去除mapper接口中的注释
首先删除生成的内容
然后修改逆向工程策略配置文件:mbg.xml
修改一项内容:
查看官文档说明:
先找到最下方有配置案例 copy到mbg.xml:注意copy的位置,放到context标签中
查看官方文档的配置说明:
那么最后的标签内容为:
代码语言:javascript复制 <commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
最后再次执行逆向工程
ok,没有了注释,那么有其他需求可以参考官方文档进行配置
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171837.html原文链接:https://javaforall.cn