1.5 基于MyBatis数据库逆向生成工具,并创建serverice和controller控制层

news2024/11/25 6:55:55

步骤1:在mybatis-generator中添加要生成的数据库表名
在genratorConfig.xml内容:

<!-- 数据库表 -->
<table tableName="stu"></table>

步骤2:StuMapper.xml和StuMapper拷贝到对应的mapper模块下
在这里插入图片描述

步骤3:pojo对应Stu.java 拷贝到pojo模块下
在这里插入图片描述

步骤4:创建service接口和对应的实现类
StuService接口:

package com.one.service;
import com.one.pojo.Stu;
public interface StuService {
    public Stu getStuInfo(int id);
}

StuServiceImpl实现类:

package com.one.service.impl;
import com.one.mapper.StuMapper;
import com.one.pojo.Stu;
import com.one.service.StuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Service
public class StuServiceImpl implements StuService {
    @Autowired
    public StuMapper stuMapper;
    @Transactional(propagation = Propagation.SUPPORTS)
    @Override
    public Stu getStuInfo(int id) {
        return stuMapper.selectByPrimaryKey(id);
    }
}

步骤5:创建controll控制层

package com.one.controller;
import com.one.service.StuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class StuFooController {
    @Autowired
    private StuService stuService;
    @GetMapping("/getStu")
    public Object getStu(int id) {
        return stuService.getStuInfo(id);
    }
}

步骤6:启动类上添加,扫描mybatis通用 mapper所在的包

package com.one;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan;
/**
 * 启动类
 * @date: 2023年06月17日 15:39
 */
@SpringBootApplication
@MapperScan(basePackages="com.one.mapper")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

步骤7:访问结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/719111.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机视觉颜色校正方法

计算机视觉颜色校正方法 调色和色彩矫正之间的区别直方图均衡化原理实现代码 CCM颜色校正矩阵原理 深度学习Deep_White_Balance什么是sRGB图像问题描述&#xff1a;方法概述&#xff1a;模型架构&#xff1a;训练损失函数实现快速开始 调色和色彩矫正之间的区别 调色是指通过调…

Vue3使用element-plus实现弹窗效果-demo

使用 <ShareDialog v-model"isShow" onChangeDialog"onChangeDialog" /> import ShareDialog from ./ShareDialog.vue; const isShow ref(false); const onShowDialog (show) > {isShow.value show; }; const onChangeDialog (val) > {co…

使用AI人工智能给线稿上色,给漫画上色

【深度学习】AIGC &#xff0c;ControlNet 论文中的图。 一些酷炫的可以做纵深领域的图&#xff0c;这里再放一下。 下图是由手绘草稿给出图&#xff1a; 由线稿得到图&#xff0c;给漫画上色&#xff1a;

简单的PWN学习-ret2shellcode

最近笔者开始钻研pwn的一些知识&#xff0c;发现栈溢出真的非常的有意思&#xff0c;于是经过一个多礼拜的学习&#xff0c;终于是把2016年的一道CTF题给看明白了了&#xff0c;首先我们学习一下前置技能 0x01 shellcode​ 首先简单看一下shellcode是怎么生成的&#xff0c;首…

Linux和Windows两种平台安装Maven

Linux和Windows两种平台安装Maven 0. 写在前面 Linux版本&#xff1a;Centos-7.5Windows版本&#xff1a;Windows10Maven版本&#xff1a;Maven-3.5.4JDK版本&#xff1a;jdk1.8 1. Linux平台安装 1.1 查看Linux内核版本命令 查看Linux内核版本命令 [whybigdatanode02 ~]$ …

AI医疗。

随着技术的发展&#xff0c;人工智能&#xff08;AI&#xff09;已经渗透到了我们生活的许多领域&#xff0c;包括凭其强大的预测和分析能力已经走入了医疗卫生领域。特别是在使用OpenAI的GPT-4技术的chatbot&#xff0c;如chatGPT和GPT-4等&#xff0c;已经成为了给医疗行业注…

驾驶舱数据指标体系设计指南

大数据时代下&#xff0c;各行各业面对众多的顾客和复杂多变的市场需求&#xff0c;要想及时适应市场变化&#xff0c;掌握市场动态&#xff0c;就需要对各个环节的数据进行分析&#xff0c;得到科学有效的结论来指导决策&#xff0c;这就离不开领导驾驶舱。 一、领导驾驶舱是什…

记一次 .NET 某工控视觉系统 卡死分析

一&#xff1a;背景 1. 讲故事 前段时间有位朋友找到我&#xff0c;说他们的工业视觉软件僵死了&#xff0c;让我帮忙看下到底是什么情况&#xff0c;哈哈&#xff0c;其实卡死的问题相对好定位&#xff0c;无非就是看主线程栈嘛&#xff0c;然后就是具体问题具体分析&#x…

为生信写的Python简明教程 | 视频7

开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在&#xff1a;https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…

BurpSutie拓展插件推荐-辅助测试插件

为方便您的阅读&#xff0c;可点击下方蓝色字体&#xff0c;进行跳转↓↓↓ 01 chunked-coding-converter-0.4.0&#xff08;1&#xff09;工具介绍&#xff08;2&#xff09;下载地址&#xff08;3&#xff09;使用说明 02 captcha-killer&#xff08;1&#xff09;工具介绍&a…

HOT43-验证二叉搜索树

leetcode原题链接&#xff1a;验证二叉搜索树 题目描述 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右…

tty(三)uart框架分析

基于linux-3.14.16 重点文件&#xff1a;serial_core.c 一、基本数据结构和接口 这里显然是导出符号给需要用到uart核心的代码使用的&#xff0c;我们从uart_register_driver和uart_add_one_port来分析&#xff0c;搞清楚uart和tty核心的关系。 二、uart_register_driver 首…

服务案例|消失的Linux定时清除任务

企业数字化转型&#xff0c;应用软件不断升级&#xff0c;对运行环境的要求也越来越高&#xff0c;CPU、内存等硬件也同步进入升级。当业务运行或备份时&#xff0c;将产生大量历史文件和临时文件&#xff0c;这就是在运维检测中&#xff0c;我们常看到文件每天几个G&#xff0…

软中断通信及signal()解读

目录 软中断通信 signal() 概述 signal()类似的函数 signal()之SIGINT signal()之SIGTERM signal()之SIGALRM signal()之SIGQUIT SIG_IGN使用 软中断通信 进程间通信方式有多种&#xff0c;其中软中断通信是一种常见的方式&#xff0c;它基于信号机制&#xff0c;可…

【mysql】索引存储结构B+树

参考&#xff1a; https://zhuanlan.zhihu.com/p/545113372 https://www.bilibili.com/read/cv18157852 Mysql数据库引擎默认使用InnoDB&#xff0c;使用B树数据结构。 一个表只能有一个聚簇索引&#xff0c;但可以有多个非聚簇索引&#xff0c;也就是多个索引目录提供数据检索…

coord软件的一些操作

文章目录 1. 大地坐标&#xff08;B&#xff0c;L&#xff09;转换为平面坐标&#xff08;X&#xff0c;Y&#xff09;操作流程示例 2. 大地坐标系下的平面坐标转换&#xff08;X&#xff0c;Y&#xff09;为大地坐标&#xff08;B&#xff0c;L&#xff09;操作示例 3. 6带坐标…

docker专题系列之十六:安装mycat

由于docker镜像仓库中mycat镜像比较少或相对比较旧&#xff0c;因此一般使用手动制作镜像方式安装部署。下文&#xff0c;良哥通过实验&#xff0c;分别介绍两种方式下如何安装部署mycat。 一、手动制作镜像方式 1.创建镜像 #创建工作目录 mkdir /usr/rdc mkdir /usr/rdc/my…

GOLANG进阶:Viper,Mysql,Swagger,Log

GOLANG从浅入深必须学习的一些工具包 1.Viper&#xff1a; Viper 是一个完整的 Go 应用程序配置解决方案&#xff0c;优势就在于开发项目中你不必去操心配置文件的格式而是让你腾出手来专注于项目的开发。其特性如下&#xff1a; 支持 JSON/TOML/YAML/HCL/envfile/Java proper…

【Java-数据结构】指定ArrayList 数组的大小有利于数据扩容和缩短耗时

关键 “因为扩容操作涉及内存申请和数据搬移&#xff0c;是比较耗时的。所以&#xff0c;如果事先能确定需要存储的数据大小&#xff0c;最好在创建 ArrayList 的时候事先指定数据大小。” 如下代码所示&#xff1a; ArrayList<User> users new ArrayList(10000); fo…

LogicFlow 在HTML中的引入与使用

LogicFlow 在HTML中的引入与使用 LogicFlow的引入与使用&#xff0c;相较于BPMNJS相对容易一些&#xff0c;更加灵活一些&#xff0c;但是扩展代码可能写得更多一些。 示例展示 示例代码 github: https://github.com/iotzzh/origin-examples/blob/main/%E6%B5%81%E7%A8%8B%E5%9…