【spring-boot】mybatis-generator 使用入门

初始化项目

  • com.example.mybatisgeneratordemo

最终的文件目录结构

【spring-boot】mybatis-generator 使用入门

配置pom.xml文件

"1.0" encoding="UTF-8"?>
"http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    4.0.0

        org.springframework.boot
        spring-boot-starter-parent
        2.2.5.RELEASE

    com.example
    mybatis-generator-demo
    0.0.1-SNAPSHOT
    mybatis-generator-demo
    Demo project for Spring Boot

        1.8

            org.springframework.boot
            spring-boot-starter-web

            org.springframework.boot
            spring-boot-starter-test
            test

                    org.junit.vintage
                    junit-vintage-engine

            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.0

            mysql
            mysql-connector-java

                org.springframework.boot
                spring-boot-maven-plugin

                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.7

                        mysql
                        mysql-connector-java
                        8.0.15

                        org.mybatis.generator
                        mybatis-generator-core
                        1.3.7

                        Generate MyBatis Artifacts
                        package

                            generate

                    true

                    true

                    src/main/resources/mybatis/generatorConfig.xml

配置appliaction.yml

server:
  port: 8051
  servlet:
    context-path: /springboot

mybatis:
  # 对应实体类的包名
  type-aliases-package: com.komiles.study.domain
  mapper-locations: classpath:mybatis/mapper/*.xml
 config-location: classpath:mybatis/mybatis-config.xml

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/komo?characterEncoding=utf-8
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver

配置generatorConfig.xml

"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">

    "Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        "autoDelimitKeywords" value="true" />
        "beginningDelimiter" value="" />
        "endingDelimiter" value="" />
        "javaFileEncoding" value="utf-8" />
        "org.mybatis.generator.plugins.SerializablePlugin" />

        "org.mybatis.generator.plugins.ToStringPlugin" />

            "suppressAllComments" value="true"/>
            "suppressDate" value="true" />

        "com.mysql.cj.jdbc.Driver"
                connectionURL="jdbc:mysql://127.0.0.1:3306/komo?characterEncoding=utf-8&nullCatalogMeansCurrent=true"
                userId="root"
                password="123456">

            "forceBigDecimals" value="false"/>

        "com.example.mybatisgeneratordemo.domain" targetProject="src/main/java">
            "enableSubPackages" value="true"/>
            "trimStrings" value="true"/>

        "mapper" targetProject="src/main/resources/mybatis" >
            "enableSubPackages" value="false" />

        "com.example.mybatisgeneratordemo.mapper" targetProject="src/main/java" type="XMLMAPPER" >
            "enableSubPackages" value="false" />

        "t_user" domainObjectName="User">
            "id" sqlStatement="Mysql" identity="true" />

mybatis-generator 自动生成文件

【spring-boot】mybatis-generator 使用入门

service层

我们需要做的是 写service层逻辑

UserService.java

package com.example.mybatisgeneratordemo.service;

import com.example.mybatisgeneratordemo.domain.User;

/**
 * @author komiles@163.com
 * @date 2020-03-22 23:05
 */
public interface UserService {

    User getUser(Integer id);
}

UserServiceImpl.java

package com.example.mybatisgeneratordemo.service.impl;

import com.example.mybatisgeneratordemo.domain.User;
import com.example.mybatisgeneratordemo.mapper.UserMapper;
import com.example.mybatisgeneratordemo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author komiles@163.com
 * @date 2020-03-22 22:58
 */
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public User getUser(Integer id) {
        return userMapper.selectByPrimaryKey(id);
    }
}

Controller 层

UserController.java

package com.example.mybatisgeneratordemo.controller;

import com.example.mybatisgeneratordemo.domain.User;
import com.example.mybatisgeneratordemo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author komiles@163.com
 * @date 2020-03-22 23:08
 */
@RequestMapping("/test")
@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/userInfo")
    public User getUserInfo(@RequestParam("user_id") Integer id)
    {
        System.out.println(id);
        return userService.getUser(id);
    }
}

如果无法加载

需要在启动文件上添加@MapperScan注解

访问地址

地址:http://127.0.0.1:8051/springboot/test/userInfo?user_id=1

展示效果:

【spring-boot】mybatis-generator 使用入门

项目demo地址:https://github.com/KoMiles/spring-example/tree/master/mybatis-demo

Original: https://www.cnblogs.com/wangkongming/p/12549328.html
Author: KoMiles
Title: 【spring-boot】mybatis-generator 使用入门

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/539708/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 权限管理系统之项目框架搭建并集成日志、mybatis和分页

    前一篇博客中使用LayUI实现了列表页面和编辑页面的显示交互,但列表页面table渲染的数据是固定数据,本篇博客主要是将固定数据变成数据库数据。 一、项目框架 首先要解决的是项目框…

    Java 2023年5月30日
    071
  • 题目:模拟网站的登录,客户端录入账号密码,然后服务器端进行验证(TCP)(完善)

    完善(加入完整的处理异常的方式、多线程接收用户请求)(TCP) 封装的类 package com.gao.Project.Pro5; import java.io.Serializ…

    Java 2023年6月5日
    091
  • java学习之爬虫

    对比与Python的爬虫机制和java的爬虫机制来详解一下java的爬虫,对于一般性的需求无论java还是python都可以胜任。如需要模拟登陆、对抗防采集选择python更方便些…

    Java 2023年6月13日
    0102
  • MySQL(一)序

    开坑原因 本文的初心是想总结自己这几年对数据库的使用。希望现在回头看,可以总结并归纳一些在数据库使用上的惯例。 存储工具如何出现 P.S. 按出现时间顺序,并不表示优劣,在不同情境…

    Java 2023年6月8日
    064
  • Redis之ziplist源码分析

    一、ziplist简介 从上一篇分析我们知道quicklist的底层存储使用了ziplist(压缩列表),由于压缩列表本身也有不少内容,所以重新开了一篇,在正式源码之前,还是先看下…

    Java 2023年6月6日
    093
  • 【Java面试手册-基础篇】能否改变Java中main()方法的返回类型

    答案是否定的,main()方法的返回类型必须是 void ,任何其它类型都是不能接受的。 下面来进行测试验证,把 main() 方法的返回类型为 int ,如下: package …

    Java 2023年6月8日
    0105
  • Spring 源码(16)Spring Bean的创建过程(7)属性填充

    知识回顾 上一篇介绍了 Spring中三级缓存的 singletonObjects、 earlySingletonObjects、 singletonFactories, Spri…

    Java 2023年6月14日
    086
  • 设计模式 23 访问者模式

    访问者模式(Visitor Pattern)属于 行为型模式 生活中经常会有这样的情况,同样的事物不同人有完全不同的感受,正所谓 一千个读者一千个哈姆雷特。 程序中也是一样,往往不…

    Java 2023年6月6日
    0106
  • 复杂类型注入

    java;gutter:true; /</p> <pre><code> ;gutter:true;/java;gutter:true; valu…

    Java 2023年6月13日
    069
  • 为什么会有996

    从发展阶段来看,国内的互联网公司大多都处于 原始积累阶段,大家都是 &#x4F60;&#x6709;&#x4EC0;&#x4E48;&#x5…

    Java 2023年6月15日
    069
  • Spring 拦截器

    拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行 作用: 在指定的方法调用前后执行预先设定的代码 阻止原始方法的执行 总…

    Java 2023年6月7日
    074
  • Java 进阶路线图

    前言 个人的从事Java开发行业已经也有一段时间,提升自己的Java水平,特整理下学习路线图,以备日后使用。 路线图资料收集 图片打不开,建议使用复制链接打开;或者私信告诉我。 J…

    Java 2023年6月10日
    0102
  • 2022-8-24 js

    JavaScript脚本语言,解释性 &#x4E3B;&#x8981;&#x7ED9;HTML&#x7F51;&#x9875;&#x…

    Java 2023年6月13日
    059
  • postgresql权限

    创建用户 GRANT 命令的基本语法如下: GRANT privilege [,…] ON object[,…] TO { PUBLIC | GROUP group| us…

    Java 2023年6月7日
    094
  • axios的封装

    Vue中axios的封装 request.js请求封装、 import axios from ‘axios’ import { getToken } from ‘@/utils’ …

    Java 2023年6月5日
    092
  • Markdown基础语法

    Markdown语法 ## 欢迎使用Markdown编辑器 你好! 这是你第一次使用 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下M…

    Java 2023年6月7日
    096
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球