0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Mybatis自动生成增删改查代码

Java开发 来源:代码的路 作者:代码的路 2023-01-13 15:43 次阅读

GitHub项目地址

Gitee项目地址

使用 mybatis generator 自动生成代码,实现数据库的增删改查。

1 配置Mybatis插件

在pom文件添加依赖:


更新依赖成功后,可以在maven中看到已经有了mybatis插件

2 创建库表

在数据库创建表格,具体方式见:本地安装并创建MySQL数据库

3 配置参数

src/main/resources/mybatis-generator.xml :

generatorConfiguration PUBLIC
        "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
    <context id="context" targetRuntime="MyBatis3">

        
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="true"/>
        <span class="hljs-name"commentGenerator>

        
        <jdbcConnection   driverClass="com.mysql.jdbc.Driver"
                          connectionURL="jdbc:mysql://localhost:3306/sys" userId="root" password="root"/>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        <span class="hljs-name"javaTypeResolver>

        
        <javaModelGenerator targetPackage="com.spring.boot.dao.model" targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
            <property name="trimStrings" value="true"/>
        <span class="hljs-name"javaModelGenerator>

        
        <sqlMapGenerator targetPackage="mapper" targetProject=".\\src\\main\\resources">
            <property name="enableSubPackages" value="false"/>
        <span class="hljs-name"sqlMapGenerator>

        
        <javaClientGenerator targetPackage="com.spring.boot.dao" targetProject="src/main/java" type="XMLMAPPER">
            <property name="enableSubPackages" value="false"/>
        <span class="hljs-name"javaClientGenerator>

        
        <table tableName="user_data"
               domainObjectName="UserDataPo"
               enableCountByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               enableUpdateByExample="false"/>

    <span class="hljs-name"context>
<span class="hljs-name"generatorConfiguration>

4 运行插件

双击 mybatis-generator:generate,运行插件。

可以看到已经生成了三个文件:

在 UserDataPoMapper.java 中,添加 @Mapper ,否则会出现报错。

5 编写其他代码

mybatis自动生成了数据类、接口文件和xml文件,我们只需编写controller和servic层即可。

6 报错问题

如果出现报错:

Consider defining a bean of type ‘com.spring.boot.dao.UserDataPoMapper’ in your configuration.

则需要在 controller 文件中添加@controller,在 service 文件中添加@service,在生成的 Mapper 文件中添加@Mapper

学习更多编程知识,请关注我的公众号:

[代码的路]

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1576

    浏览量

    68758
  • JAVA
    +关注

    关注

    19

    文章

    2980

    浏览量

    105592
  • 程序
    +关注

    关注

    117

    文章

    3806

    浏览量

    81673
  • 代码
    +关注

    关注

    30

    文章

    4857

    浏览量

    69475
  • mybatis
    +关注

    关注

    0

    文章

    63

    浏览量

    6770
收藏 人收藏

    相关推荐

    如何一眼定位SQL的代码来源:一款SQL染色标记的简易MyBatis插件

    作者:京东物流 郭忠强 导语 本文分析了后端研发和运维在日常工作中所面临的线上SQL定位排查痛点,基于姓名贴的灵感,设计和开发了一款SQL染色标记的MyBatis插件。该插件轻量高效,对业务代码
    的头像 发表于 03-05 11:36 115次阅读
    如何一眼定位SQL的<b class='flag-5'>代码</b>来源:一款SQL染色标记的简易<b class='flag-5'>MyBatis</b>插件

    Mybatis 源码畅谈软件设计(九):“能用就行” 其实远远不够

    作者:京东保险 王奕龙 到本节 Mybatis 源码中核心逻辑基本已经介绍完了,在这里我想借助 Mybatis 其他部分源码来介绍一些我认为在编程中能 最快提高编码质量的小方法 ,它们可能比较细碎
    的头像 发表于 01-03 10:39 210次阅读

    STM32CubeMX生成代码,是怎样的HAL架构?

    需要注意,CubeMX只是一个初始化工具,它只是帮你完成了HAL库外设和时钟的初始化,具体程序的编写还需要查阅HAL库的说明,使用相关函数实现你想实现的功能。CubeMX生成代码包含了丰富的注释
    的头像 发表于 01-01 21:01 323次阅读
    STM32CubeMX<b class='flag-5'>生成</b>的<b class='flag-5'>代码</b>,是怎样的HAL架构?

    探索设计稿自动生成Flutter代码的技术方案

    作者:京东物流 冷先锋 近年来,随着人工智能和大模型技术的发展,设计稿(UI视图)自动生成代码的技术也在不断进步。本文将探讨几家知名企业在这一领域的探索和实践,包括美团、京东、微软等,以及一些常见
    的头像 发表于 11-08 10:09 1184次阅读
    探索设计稿<b class='flag-5'>自动</b><b class='flag-5'>生成</b>Flutter<b class='flag-5'>代码</b>的技术方案

    如何自动生成verilog代码

    介绍几种自动生成verilog代码的方法。
    的头像 发表于 11-05 11:45 586次阅读
    如何<b class='flag-5'>自动</b><b class='flag-5'>生成</b>verilog<b class='flag-5'>代码</b>

    谷歌:超四分之一新代码由人工智能生成

    10月30日最新消息显示,谷歌正积极投身于一系列人工智能产品的开发中,并且在其构建过程中,人工智能也扮演着举足轻重的角色。谷歌首席执行官桑达尔・皮伊在公司2024年第三季度财报电话会议上透露:“我们超过四分之一的新代码现由人工智能自动
    的头像 发表于 10-30 15:13 455次阅读

    代码解析工具与自动化流程图生成解决方案

      摘要:CasePlayer2是一款强大的源代码解析工具,专门设计用于分析ANSI C、C、C++以及汇编语言源代码,并自动化地生成流程图等文件。该工具集成了多种功能,包括MISRA
    的头像 发表于 10-10 13:40 459次阅读

    关于Makefile自动生成-autotools的使用

    的Makefile并非日常任务,但遇见需要构建大型软件项目时,利用工具自动生成Makefile就显得尤为关键。接下来,我们将重点介绍一款自动化构建工具——Autoto
    的头像 发表于 07-25 15:50 1611次阅读
    关于Makefile<b class='flag-5'>自动</b><b class='flag-5'>生成</b>-autotools的使用

    使用mybatis切片实现数据权限控制

    一、使用方式 数据权限控制需要对查询出的数据进行筛选,对业务入侵最少的方式就是利用mybatis或者数据库连接池的切片对已有业务的sql进行修改。切片逻辑完成后,仅需要在业务中加入少量标记代码
    的头像 发表于 07-09 17:26 496次阅读
    使用<b class='flag-5'>mybatis</b>切片实现数据权限控制

    touchgfx生成代码报错怎么解决?

    touchgfx生成代码报错,怎么解
    发表于 06-03 08:51

    黑芝麻智能代码生成工具喜获DEKRA德凯ASIL D功能安全产品认证

    黑芝麻智能瀚海自动驾驶中间件中的代码生成工具荣获ASIL D功能安全产品认证。
    的头像 发表于 05-29 15:07 516次阅读
    黑芝麻智能<b class='flag-5'>代码</b><b class='flag-5'>生成</b>工具喜获DEKRA德凯ASIL D功能安全产品认证

    ISEDA首发!大语言模型生成代码到底好不好使

    在大模型席卷一切、赋能百业的浪潮里,“码农”也没能独善其身。各种代码自动生成的大模型,似乎描绘了一个人人都能像资深工程师一样写代码的美好未来。 但在这个理想成为现实之前,有一个不能回避
    发表于 05-16 13:41 420次阅读
    ISEDA首发!大语言模型<b class='flag-5'>生成</b>的<b class='flag-5'>代码</b>到底好不好使

    CubeMx生成代码优化等级调低不能运行怎么解决?

    重定向,可以打印一切正常。调低自动生成代码优化等级为level0,不能运行,死在printf函数。 有人遇到类似的问题的么?万分感谢!
    发表于 04-25 06:23

    Simulink自动生成代码现阶段的学习笔记

    在车载控制器的软件开发中,simulink的身影几乎随处可见,主要是在控制算法和控制逻辑的实现。平时看同事点点点就生成代码了,看起来很简单,但是实际操作起来确各种磕磕绊绊。 下面记录了一下步骤作为现阶段的学习笔记吧。
    的头像 发表于 04-17 10:56 4189次阅读
    Simulink<b class='flag-5'>自动</b><b class='flag-5'>生成</b><b class='flag-5'>代码</b>现阶段的学习笔记

    使用stm32l072cbt6作为系统时钟源,为什么生成代码对于systick的重装载值是按MSI计算的?

    首先说一下,我使用的是stm32l072cbt6这款芯片 我的时钟设置如图 但是生成后,我代码发现systick重装载值是这样的 这样是代表我的系统时钟实际上是MSI吗,这个HAL设置的1ms是否还准确呢
    发表于 03-12 06:55