mysql数据库还原与Mybatis的逆向工程

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: mysql数据库还原与Mybatis的逆向工程

1 mysql数据库还原

1.1 新建数据库

1.2 运行sql文件

1.3 成功

1.4 刷新查看

总结:如果看到表,此时数据库成功还原!

2 Mybatis的逆向工程

2.1 MyBatis Generator 介绍

2.1.1 官网地址

http://www.mybatis.org/generator/

2.1.2 下载地址

http://central.maven.org/maven2/org/mybatis/generator/mybatis-generator-core/

2.1.3Mybatis Generator 介绍

MyBatis GeneratorMBG)是 MyBatis iBATIS 的代码生成工具。它可以为所有 MyBatis 版本以及 iBATIS 版本 2.2.0 及以上自动生成代码

它会逆向查找一张或多张数据库表的信息,生成操作数据库表所需要的组件。基本上省去了自已手动创建实体类以及配置文件的麻烦。


MBG 只是对单表的增删改查(CRUD (Create, Retrieve, Update, Delete))生成了大部分的代码,对于像连接查询或者存储过程之类的,还是需要手动编写 sql 和实体类的。MBG 会生成对应于表结构的 java POJO 类。包括一个支持动态查询、更新和删除的类。


MBG 为单表的增删改查生成了配置文件和映射文件。生成的 SQL 语句包括:


insert


update by primary key


update by example (使用动态 where 子句)


delete by primary key


delete by example (使用动态 where 子句)


select by primary key


select by example (使用动态 where 子句)


count by example


注:根据表结构的不同,这些语句会有一些变化,比如有的表没有主键,则MBG 不会生成根据主键更新表的记录的方法。

3 Mybatis Generator 的使用

3.1 建立 MybatisGenerator 项目

建立 Java 项目即可

3.2 添加 jar 包支持


3.3 建立配置文件

<?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://192.168.30.10:3306/ego" userId="root"
      password="root">
    </jdbcConnection>
    <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 
      NUMERIC 类型解析为java.math.BigDecimal -->
    <javaTypeResolver>
      <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>
    <!-- targetProject:生成POJO类的位置 -->
    <javaModelGenerator targetPackage="com.zgl.ego.rpc.pojo"
      targetProject=".\src">
      <!-- enableSubPackages:是否让schema作为包的后缀 -->
      <property name="enableSubPackages" value="false" />
      <!-- 从数据库返回的值被清理前后的空格 -->
      <property name="trimStrings" value="true" />
    </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
    <sqlMapGenerator targetPackage="com.zgl.ego.rpc.mapper" 
      targetProject=".\src">
      <!-- enableSubPackages:是否让schema作为包的后缀 -->
      <property name="enableSubPackages" value="false" />
    </sqlMapGenerator>
    <!-- targetPackage:mapper接口生成的位置 -->
    <javaClientGenerator type="XMLMAPPER"
      targetPackage="com.zgl.ego.rpc.mapper" 
      targetProject=".\src">
      <!-- enableSubPackages:是否让schema作为包的后缀 -->
      <property name="enableSubPackages" value="false" />
    </javaClientGenerator>
    <!-- 指定数据库表 -->
    <table schema="" tableName="tb_content"></table>
    <table schema="" tableName="tb_content_category"></table>
    <table schema="" tableName="tb_item"></table>
    <table schema="" tableName="tb_item_cat"></table>
    <table schema="" tableName="tb_item_desc"></table>
    <table schema="" tableName="tb_item_param"></table>
    <table schema="" tableName="tb_item_param_item"></table>
    <table schema="" tableName="tb_order"></table>
    <table schema="" tableName="tb_order_item"></table>
    <table schema="" tableName="tb_order_shipping"></table>
    <table schema="" tableName="tb_user"></table>
  </context>
</generatorConfiguration>

3.4 建立项目启动类

package com.zgl.mybatis.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;
public class MybatisGeneratorTest {
  public void generator() throws Exception {
    List<String>warnings = new ArrayList<String>();
    boolean overwrite = true;
    // 指定 逆向工程配置文件
    File configFile = new File(System.getProperty("user.dir")+"/src/config.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 {
      MybatisGeneratorTest generatorSqlmap = new MybatisGeneratorTest();
      generatorSqlmap.generator();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

3.5 测试成功:

mapper:

pojo:

注意:如果想再次生成代码,必须先将已经生成的代码删除,否则会在原文件中追加。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
10月前
|
XML Java 数据库连接
十一、MyBatis的逆向工程
十一、MyBatis的逆向工程
258 6
十一、MyBatis的逆向工程
|
9月前
|
Oracle 关系型数据库 Java
|
SQL Java 数据库连接
深入 MyBatis-Plus 插件:解锁高级数据库功能
Mybatis-Plus 提供了丰富的插件机制,这些插件可以帮助开发者更方便地扩展 Mybatis 的功能,提升开发效率、优化性能和实现一些常用的功能。
1415 26
深入 MyBatis-Plus 插件:解锁高级数据库功能
|
11月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
508 2
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
610 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
Java 数据库连接 数据库
spring和Mybatis的逆向工程
通过本文的介绍,我们了解了如何使用Spring和MyBatis进行逆向工程,包括环境配置、MyBatis Generator配置、Spring和MyBatis整合以及业务逻辑的编写。逆向工程极大地提高了开发效率,减少了重复劳动,保证了代码的一致性和可维护性。希望这篇文章能帮助你在项目中高效地使用Spring和MyBatis。
277 1
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
2753 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
前端开发 Java 数据库连接
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
本文是一份全面的表白墙/留言墙项目教程,使用SpringBoot + MyBatis技术栈和MySQL数据库开发,涵盖了项目前后端开发、数据库配置、代码实现和运行的详细步骤。
324 0
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
|
XML SQL JavaScript
在vue页面引入echarts,图表的数据来自数据库 springboot+mybatis+vue+elementui+echarts实现图表的制作
这篇文章介绍了如何在Vue页面中结合SpringBoot、MyBatis、ElementUI和ECharts,实现从数据库获取数据并展示为图表的过程,包括前端和后端的代码实现以及遇到的问题和解决方法。
在vue页面引入echarts,图表的数据来自数据库 springboot+mybatis+vue+elementui+echarts实现图表的制作

热门文章

最新文章

推荐镜像

更多