首页 > 其他分享 >MyBatis 逆向工程

MyBatis 逆向工程

时间:2023-02-01 10:06:27浏览次数:62  
标签:逆向 工程 generator mybatis MyBatis new config


一、逆向工程简介

MyBatis Generator: 简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、存储过程等这些复杂sql的定义需要我们手工编写
官方文档地址
​​​ http://www.mybatis.org/generator/​​​ 官方工程地址
https://github.com/mybatis/generator/releases

二、逆向工程的配置

1)导入逆向工程的jar包
mybatis-generator-core-1.3.2.jar
2)编写MBG的配置文件(重要几处配置),可参考官方手册

<?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>
<!--
targetRuntime: 执行生成的逆向工程的版本
MyBatis3Simple: 生成基本的CRUD
MyBatis3: 生成带条件的CRUD
-->
<context id="DB2Tables" targetRuntime="MyBatis3">

<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis_1129"
userId="root"
password="1234">
</jdbcConnection>
<!-- javaBean的生成策略-->
<javaModelGenerator targetPackage="com.atguigu.mybatis.beans" targetProject=".\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- SQL映射文件的生成策略 -->
<sqlMapGenerator targetPackage="com.atguigu.mybatis.dao" targetProject=".\conf">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>

<!-- Mapper接口的生成策略 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.atguigu.mybatis.dao" targetProject=".\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 逆向分析的表 -->
<table tableName="tbl_dept" domainObjectName="Department"></table>
<table tableName="tbl_employee" domainObjectName="Employee"></table>
</context>
</generatorConfiguration>

3)运行代码生成器生成代码

@Test
public void testMBG() throws Exception {
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);
}

三、逆向工程的使用

基本查询的测试

@Test
public void testSelect() throws Exception {
SqlSessionFactory ssf = getSqlSessionFactory();
SqlSession session = ssf.openSession();

try {
EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
List<Employee> emps = mapper.selectAll();
for (Employee employee : emps) {
System.out.println(employee);
}
} finally {
session.close();
}
}

public SqlSessionFactory getSqlSessionFactory() throws Exception{
String resource = "mybatis-config.xml";
InputStream in = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
return sqlSessionFactory;
}


标签:逆向,工程,generator,mybatis,MyBatis,new,config
From: https://blog.51cto.com/u_14389461/6030666

相关文章

  • Codeforces Round #548 (Div. 2) E. Maximize Mex 二分图+逆向加边
    题意:有n个学生,m个社团,每个学生只属于一个社团。在接下来的d天内每天会离开一个学生(再也回不来了)。现要从剩下的每个社团中挑选一个学生组成team,并最大化他们的mex。 ......
  • 需求工程的要点
    》需求调研方法指南》全面访谈客户用户》宏观需求强调价值》名词细化属性特征》交互序列优先级别》甲方乙方影响分析》实现之前反讲确认》客户参与事半功倍》领域专家问题......
  • mybatis实现批量插入更新 -- ON DUPLICATE KEY UPDATE
    必须保证有唯一索引,可以是主键索引或者组合索引<insertid="insertOrUpdate"parameterType="java.util.List">INSERTINTOindicators_template_detail_rep(......
  • 【KAWAKO】在windows上用CMake和MinGW编译c++工程
    目录安装CMake安装MinGW编写CMakeLists.txt编译一条龙安装CMake在网上随便找个教程照着安装就行了,不再赘述。安装MinGW参考这篇博客。从MinGW官网下载的安装包在安装的......
  • 特征工程——数据的标准化(Z-Score,Maxmin,MaxAbs,RobustScaler,Normalizer)
    数据标准化是一个常用的数据预处理操作,目的是处理不同规模和量纲的数据,使其缩放到相同的数据区间和范围,以减少规模、特征、分布差异等对模型的影响。比如线性回归模型、......
  • mybatis和mysql依赖
    <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.27</version></dependency><dependency><group......
  • 不同等级的测试工程师应具备的基本能力
    第一个:我们称之为测试员/测试工程师直白一点说,就是干苦力活的。对标过来就是百度的T3、T4,阿里的P5,腾讯的T1-T2。主要的工作就是需求分析,测试方案,测试策略,测试执行......
  • 使用VS Code创建第一个Flutter工程
    一、前言你可以使用任意文本编辑器,再结合命令行工具来开发Flutter应用。然而,我们推荐使用本文接下来介绍的编辑器插件以获取更好的开发体验。这些插件提供了代码补全、......
  • QCustomPlot库添加到自己的工程
    一、QCustomPlot库添加到自己的工程1.QCustomPlot官网下载官网下载地址:QtPlottingWidgetQCustomPlot-Download 2.导入到自己的工程QCustomPlot库的使用与自......
  • 基于JAVA springboot+mybatis智慧生活分享平台设计和实现
    基于JAVAspringboot+mybatis智慧生活分享平台设计和实现文章目录​​基于JAVAspringboot+mybatis智慧生活分享平台设计和实现​​​​主要功能模块设计:​​​​系统前端......