首页 > 数据库 >springboot+mysql+mybatis逆向工程

springboot+mysql+mybatis逆向工程

时间:2022-11-28 17:22:33浏览次数:42  
标签:mapper springboot 生成 mysql mybatis 驱动 model

 

最近一直再做hibernate相关的工作,想捡起遗忘了一年的mybatis,就在自己的demo项目中引入了一下 ,记录下过程,这里只生成 mapper和model 和mapper.xml

一、引入依赖

     要用mybatis 首先需要引入相应的依赖,将它放在pom文件 <dependencies> </dependencies> 标签内。

<!--MyBatis整合SpringBoot框架的起步依赖-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.1</version>
</dependency>  

  本文所用mysql版本为 5.7.38

 

如果没有引入mysql依赖,要引入依赖,同样放在 <dependencies> </dependencies> 标签内。

<!-- mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.21</version>
</dependency>

 

二、新建GeneratorMapper.xml 文件在根目录下

 

三、修改文件内容

GeneratorMapper.xml 文件内容如下,其中需要修改的内容是

1.数据库的JDBC驱动包所在位置路径。
2.数据库驱动类、连接地址、用户名、密码 。 注意这里重点说一下驱动!!!
   mysql-connection-java 5以后的版本中(不包括5),使用的是com.mysql.cj.jdbc.Driver;
   mysql-connection-java 5及以前的版本中(包括5),使用的是com.mysql.jdbc.Driver; 这里我是5,所以文档里写的 com.mysql.jdbc.Driver,版本不一样的请自行修改哦。

3.生成model类 :指定model类的包名、生成model类的位置(此处使用的是绝对路径~)改成你自己的(没有model包和mapper包的自己new一个。。。)。

4.mapper映射文件生成的位置,文件生成位置(此处使用的是绝对路径~)改成你自己的。
5.生成MyBatis的Mapper接口类文件(此处使用的是绝对路径~)改成你自己的。

6.tableName 这里没有固定某一个表,用了%,就生成了所有的表哦。
<?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>
    <!--指定连接数据库的JDBC驱动包所在位置,指定到你本机的完成路径-->
    <classPathEntry location="F:\mysql-connector-java-5.1.49\mysql-connector-java-5.1.49.jar"/>
    <!--配置table表信息内容体,targetRuntime指定采用MyBatis3的版本-->
    <context id="tables" targetRuntime="MyBatis3">
        <!--抑制生成注释,由于生成的注释都是英文的,可以不让它生成-->
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/white_jotter?useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowPublicKeyRetrieval=true"
                        userId="root"
                        password="admin">
        </jdbcConnection>
        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- 生成model类,实体Bean
        targetPackage 指定model类的包名
        targetProject:生成model类的位置 -->
        <javaModelGenerator targetPackage="com.evan.wj.model" targetProject="src/main/java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- 实体映射文件 targetProject:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="mapper" targetProject="G:\lxlProject\workspace\wj\src\main\resources\">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!--生成MyBatis的Mapper接口类文件,DAO接口  targetPackage指定Mapper接口类的名 targetPackage:指定生成的Mapper接口放的位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.evan.wj.mapper" targetProject="G:\lxlProject\workspace\wj\src\main\java\">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>

        <!--生成全部表tableName设为%-->
        <table tableName="%">
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>

<!--        &lt;!&ndash; 数据库表名及对应的Java模型类名 &ndash;&gt;-->
<!--        <table tableName="white_jotter" domainObjectName="book"-->
<!--               enableCountByExample="false"-->
<!--               enableUpdateByExample="false"-->
<!--               enableDeleteByExample="false"-->
<!--               enableSelectByExample="false"-->
<!--               selectByExampleQueryId="false"/>-->
<!--                <table schema="" tableName="admin"></table>-->
<!--                <table schema="" tableName="product_info"></table>-->
<!--                <table schema="" tableName="product_type"></table>-->
<!--                <table schema="" tableName="users"></table>-->

    </context>
</generatorConfiguration>

OK,现在基本要改的都改完了,就开始生成文件喽。

点击右侧maven下的Plugins 下的mybatis-generate:generate,执行。

成功喽~~~

 

 啥? 你说你没成功?emmmm mmmm mmmmmmmmmm

那就再看看,奥,还有一个地方- 搜索:指定连接数据库的JDBC驱动包所在位置,指定到你本机的完成路径。

下载一个mysql驱动,

下载流程 选择 Archives标签

 

 

先选择Operating System 奥,选择 Platform Independent ,然后再根据你的mysql 驱动和mysql版本选择合适的 驱动版本号。

 

 

 

 

 

 

 

 

我依赖是5.1的,下载后找一个地方解压,复制路径+jar的名称,把GeneratorMapper.xml 中 classPathEntry location 路径替换一下试试哦。

 

啥?你说你不知道在哪里下载驱动?  ===> 鸡汤来喽~ mysql驱动包下载地址 https://downloads.mysql.com/archives/c-j/

生成后的文件展示来喽~

mapper接口==dao

mapper.xml

model = entity

 

 

 

参考文档:

https://blog.csdn.net/m0_67391377/article/details/124777417

https://blog.csdn.net/qq_19331985/article/details/104291304

https://www.cnblogs.com/BKYhailong/p/15464846.html

 

标签:mapper,springboot,生成,mysql,mybatis,驱动,model
From: https://www.cnblogs.com/lxlzoro/p/16932541.html

相关文章

  • mybatis快速xml技巧
    1.查询2.条件查询参数传递[封装]方式三种......
  • MYSQL-8.0.31 windows免安装 版安装 方法
    1从官方下载绿色安装包 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.31-winx64.zip2解压到C:\mysql-8.0.31-winx64\建立data目录新建m......
  • MySQL数据库:8、多表查询的方法与思路
    目录一、多表查询思路数据准备1、笛卡尔积1、1.代码实践1、2.笛卡尔积进阶操作2、连表操作2、1.内连接2、2.左连接2、3.右连接2、4.全连接3、子查询3、1.子查询代码实践一......
  • MySQL多表查询及pymysql简单使用
    目录多表查询的两种方法小知识点补充说明可视化软件Navicat多表查询练习题python操作MySQLpymysql补充说明多表查询的两种方法方式一:连表操作innerjoin内连接 selec......
  • day43MySQL基础(5)
    多表查询的两种方式方式1:连表操作innerjoin内连接 select*fromempinnerjoindeponemp.dep_id=dep.id;只连接两张表中公有的数据部分leftjoin......
  • mysql表 自动生成word文档,java方式
    1、新建一个maven项目,并引入包<!--导出文档包--><dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0......
  • 记录一个springboot 设置跨域 失效的问题
    问题前端请求springboot的接口报跨域,后端有接收到请求也能成功处理并返回结果,但前端无法接收结果。后端通过继承WebMvcConfigurer有以下代码设置跨域:@Override......
  • 整合SpringBoot + Dubbo + Nacos 出现 Unable to make protected final java.lang.Cla
    版本SpringBoot:2.7.3Dubbo:3.0.4Nacos:2.0.3异常信息如下Unabletomakeprotectedfinaljava.lang.Classjava.lang.ClassLoader.defineClass(java.lang.String,......
  • MySQL执行过程及执行顺序
    一、MySQL执行过程简单概括:1、我们在客户端发起一个SQL的查询;2、连接器判断用户登录以及用户权限;3、缓存命中,走缓存,直接返回查询结果;3、缓存没命中,到达分析器,对SQL语......
  • Net6 CodeFirst注入MySQL数据库上下文
    十年河东,十年河西,莫欺少年穷学无止境,精益求精 2022太难了,好多公司倒闭,互联网不景气,工作难找,苏州的C#/Net程序员的招聘更是少之又少,java,C,等其他语言也是供大于求,总之,难上......