springboot使用mybatis-generator自动生成代码

前言

为啥要使用mybatis-generator

  • 写一大推的实体类、mybatis中的mapper类和sql文件很累(整个项目只有一个表的同学请安静,别抬杠!)
  • 不太记得mapper类和sqlmapper映射文件的格式了,有点尴尬
  • 分模块开发时,给其他人拷贝一大推的基础类,很傻哦

使用mybatis-generator的好处

  • 只要你数据库设计好了,快速帮你生成实体类,不用再哼哧哼哧的撸代码了
  • 可灵活的配置脚本,从一个数据库或多个数据库生成实体类和sqlmapper
  • 开发体验很好,省去大量的重复工作,直接可以开始撸业务代码了

话不多说,开始搞起来

完成以下步骤,帮你搞定项目基础框架

1 修改pom文件

<!--mybatis 代码生成器插件-->
<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.5</version>
    <configuration>
        <!--配置文件的位置-->
        <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>
    </dependencies>
</plugin>

2 配置生成mybatis-generator代码生成脚本

  • 在resources文件夹下新建generatorConfig.xml
<?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>
    <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
    <classPathEntry
            location="D:\soft\dev\Maven_Repository\mysql\mysql-connector-java\8.0.13\mysql-connector-java-8.0.13.jar"/>

    <!-- 一个数据库一个context -->
    <context id="boot" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/boot?serverTimezone=GMT%2B8"
                        userId="root"
                        password="123$%^">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetPackage="com.zyu.boot.demo.entity" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成映射文件的包名和位置-->
        <sqlMapGenerator targetPackage="sqlmapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.zyu.boot.demo.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <table tableName="t_user" domainObjectName="User" enableCountByExample="false"
               enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
            <!-- 使用数据库字段名作为实体类的属性 -->
            <property name="useActualColumnNames" value="true"/>
        </table>
    </context>
</generatorConfiguration>

上面配置都有解释,这里就不赘述了,其实很简单

3 在maven依赖树中点击生成插件

mybatis-generator插件运行截图
运行截图如下
在这里插入图片描述
在这里插入图片描述
这三个文件都生成了,大功告成!!!

user表的sql脚本

CREATE TABLE `t_user` (
  `userid` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '用户id主键',
  `name` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '姓名',
  `gender` bit(1) NOT NULL COMMENT '性别:0男性 1女性',
  `age` int(11) DEFAULT NULL COMMENT '年龄',
  `createDate` datetime DEFAULT NULL COMMENT '创建时间',
  `role` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '0' COMMENT '角色:0普通用户 1管理员',
  PRIMARY KEY (`userid`),
  UNIQUE KEY `userid_index` (`userid`) USING BTREE COMMENT '用户id索引,方便根据id查询'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

结束语

别忘了,将本次的项目变更提交到git

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值