IDEA开发SpringBoot+mybatis 新手快速入门

2023-11-17

因为最近学习Java  自己练习springboot和mybatis,练习一下

一、IDEA创建springboot项目

2、pom.xml 引用相关文件

<!--web核心依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--mysql数据库驱动-->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.20</version>
</dependency>

<!--mybatis-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.0</version>
</dependency>

最终目录结构

开始编写各个生成的文件

实体类文件:

public class User implements Serializable {
    private  Long id;//编号
    private String username;// 用户名
    private  String password;//密码

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

userservice接口

public interface UserService {
    List<User> findAll();
    User getUserByID(int id);
    void  CreateUser(User user);
    void DeleteUser(int id);
    void UpdateUser(User user);
}
UserServiceimpl服务类
@Service("UserService")
public class UserServiceimpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> findAll() {
        return userMapper.findAll();
    }

    public User getUserByID(int id) {
        return userMapper.getUserByID(id);
    }

    public void  CreateUser(User user) {
        userMapper.CreateUser(user);
    }

    public  void DeleteUser(int id)
    {
        userMapper.DeleteUser(id);
    }

    public  void UpdateUser(User user){
        userMapper.UpdateUser(user);
    }
}

 

mapper接口

@Mapper
public interface UserMapper {
    List<User> findAll();
    User getUserByID(int id);
    void  CreateUser(User user);
    void  DeleteUser(int id);
    void  UpdateUser(User user);
}

Controller类

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/findAll")
    public List<User> findAll(){
        return userService.findAll();
    }

    @RequestMapping("/getUserByID")
    public User getUserByID(Integer id){
        return userService.getUserByID(id);
    }

    @RequestMapping("/CreateUser")
    public  void CreateUser(User user)
    {
        userService.CreateUser(user);
    }

    @RequestMapping("/DeleteUser")
    public  void DeleteUser(Integer id)
    {
     userService.DeleteUser(id);

    }

    @RequestMapping("/UpdateUser")
    public  void  UpdateUser(User user)

    {
      userService.UpdateUser(user);
    }
}

 

usermapper.xml--对应sql语句文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.mybatis.mybatis.mapper.UserMapper">
    <sql id="table">tb_user</sql>
    <select id="findAll" resultType="User">
        SELECT * FROM tb_user
    </select>
    <!-- 根据id查询 -->
    <select id="getUserByID" resultType="User">
        SELECT
        *
        FROM
        <include refid="table"/>
        WHERE
        id = #{id}
    </select>

    <select id="CreateUser" parameterType="User">
       insert into
       <include refid="table"/>
        (username,password)
        VALUES
        (#{username},#{username})
    </select>

    <select id ="DeleteUser">
        delete   from
        <include refid="table"/>
        where id =#{id}
   </select>

    <select id ="UpdateUser" parameterType="User">
        update
        <include refid="table"/>
        set username =#{username},password =#{password}
        where id =#{id}
    </select>
</mapper>

application.yml--mybatis以及JDBC配置文件

server:
  port: 6061
spring:
  #数据库连接配置
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.0.10:3306/test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true
    username: root
    password: piaost123

#mybatis的相关配置
mybatis:
  #mapper配置文件
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.mybatis.mybatis.entity
  #开启驼峰命名
  configuration:
    map-underscore-to-camel-case: true

开始创建数据库:我用的是mysql 5.6

CREATE TABLE `tb_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

到此,整个环境就全部完成

可以使用Postman测试了

相关知识:

1、MybatisMybatis架构与原理讲解的很细通俗易懂,大家可以看下

https://www.jianshu.com/p/15781ec742f2

2、相关注解以及mybatis相关标签

@Service("UserService")、@Mapper、@RestController、@RequestMapping("/user")、select、include
大家可以查阅相关资料

Java_Mybatis 注解: https://www.cnblogs.com/amiezhang/p/9632711.html

springboot 注解:https://www.cnblogs.com/ldy-blogs/p/8550406.html

demo下载地址:https://download.csdn.net/download/fsdad/12595011

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IDEA开发SpringBoot+mybatis 新手快速入门 的相关文章

随机推荐

  • Ubuntu18.04未安装Qt报qt.qpa.plugin could not load the Qt platform plugin xcb问题的解决方法

    在Ubuntu 18 04开发机上安装了Qt 5 14 2 当将其可执行程序拷贝到另一台未安装Qt的Ubuntu 18 04上报错 拷贝可执行程序前 使用ldd将此执行程序依赖的动态库也一起拷贝过去 包括Qt5 14 2 5 14 2 gc
  • JS ES6 单链表2种插入尾部方式

    一种是类里加一个指向尾部最后一个元素指针 通过他添加一个元素到队列最后 一种是每次增一个元素都从头开始遍历直到最后一个 然后添加 打开出来有单链表结构是一样的 除了上面的 多了一个队尾指针 class Node 单个结点 data next
  • Cadence 生成gerber文件,嘉立创下单助手解析不了PCB板的问题

    概述 最近由于公司的原因 使用Cadence EDA工具绘制一块 TMC2300电机驱动板 遇到一些问题 在这记录一下坑 也方便遇到这个问题的硬件攻城狮得到解决 1 EDA Cadence 17 4 在生成gerber文件时 使用CAM35
  • type_traits技术与C++

    引言 一个方法实现过程中 业务逻辑很多都是相似的 但是与具体的特化类型的不同有一定的差异 这个时候可以采用特化模板的方式实现 不同的类型使用不同的特化实现 但是这种情况造成一定的业务逻辑的冗余 而trait技术可以将特化类型通过封装 以一个
  • windows10进行Colmap配置

    colmap下载 https demuc de colmap 新的colmap按照官网的编译方式仅需要预装好CMake Boost QT5 CUDA和CGAL 1 CMake CMake安装最简单 去官网下载好压缩包解压即可 建议下载新版
  • 使用sentencepiece模型替换词表

    最近在用DeBERTa模型跑一些下游任务 了解到了sentencepiece模型 用于替代预训练模型中的词表 sentencepiece 是google开源的文本Tokenzier工具 本身提供四种切分方法 包括 char word byt
  • Python爬虫三国演义

    爬取三国全篇内容 定位目标 https www shicimingju com book sanguoyanyi html 在这里插入代码片import requests from bs4 import BeautifulSoup f op
  • 100天精通Python(可视化篇)——第86天:matplotlib绘制不同种类炫酷热力图参数说明+代码实战

    文章目录 专栏导读 一 热力图介绍 1 介绍 2 参数说明 二 绘制热力图 1 普通热力图 2 添加坐标轴和标题 3 添加热力标尺 4 添加色块数值
  • 虚析构和纯虚析构

    问题 多态使用时 如果子类中有属性开辟到堆区 那么父类指针在释放时无法调用到子类的析构代码 解决方式 将父类的析构改为虚析构或纯虚析构 可以解决父类指针释放子类对象 都需要具体的实现函数 虚析构和纯虚析构的区别 如果是纯虚析构 该类属于抽象
  • 【踩坑】解决maven的编译报错Cannot connect to the Maven process. Try again later

    背景 新公司新项目 同事拷给我maven的setting配置文件 跑项目编译发现maven报 Cannot connect to the Maven process Try again later If the problem persis
  • 你了解Spring BeanFactoryAware嘛

    其实再写这篇文章之前呢 我是看Spring IOC源码 可是老师啃不动 那么就从外围开始吧 在Spring生命周期的探索当中 其中网上主流的做法就是让我们的Bean实现一大波接口 到目前为止 这些接口的名称一个也没有记住 Spring的这个
  • Redis分片

    目录 一 Redis为什么要分片 二 分布式存储的特性 三 分片方案 1 范围分片 优点 缺点 2 hash节点取余分区 3 一致性hash分区 一 Redis为什么要分片 一般你系统核心缓存的命中率需维持在99 甚至99 9 哪怕下降1
  • JavaScript函数 - 简介与示例代码

    JavaScript是一种广泛应用于Web开发的脚本语言 它具备强大的函数功能 函数是JavaScript中的一个核心概念 它允许您封装可重复使用的代码块 并通过调用函数来执行特定的操作 本文将介绍JavaScript函数的基本概念 并提供
  • java程序员经典错误,请速速收藏

    大家好 我是鱼尾 作为一名 java 开发程序员 不知道大家有没有遇到过一些匪夷所思的bug 有时候在我们碰到错误的时候 可能会花几个小时才能解决 然而当你找到它们的时候 你可能会默默地骂自己是个傻瓜 因为这些可笑的 bug 基本上都是你忽
  • Entry输入框实现登录用户名冷却验证小案例(Tkinter)

    本篇讲一下Entry冷却验证的用法 其实我们在登录注册的时候用户名是否存在的验证一般不能等到全部都填写完后 点击注册再进行判断 最好的办法是在输入用户名时就立刻判断是否存在 这篇内容是在上一篇合法性验证的基础上的升级版 点击查看上一篇 实现
  • XSS数据接收平台——蓝莲花(BlueLotus)

    文章目录 一 前言 二 安装 三 使用 1 我的JS创建一个模板 2 使用创建的模板攻击 3 打开攻击的目标 这里选择pikachu靶场的存储型XSS模块测试 4 查看返回的数据 一 前言 蓝莲花平台是清华大学曾经的蓝莲花战队搭建的平台 该
  • 适合教孩子编码的 7 款免费编程语言

    21CTO导读 计算机编程是一项需求旺盛且欣欣向荣的事业 所以这些日子父母们可能都希望他们的孩子长大后也能成为一名软件程序员 如果想教小孩如何编程 该从哪儿开始呢 可以尝试以下列表中这些对儿童友好的编程语言以及工具 Scratch 海风教育
  • 基于dubbo+RocketMQ+springboot的简单埋点系统

    1 整体架构流程 2 目录详情 consumer 消息消费者项目 provider 方法提供者项目 mq RocketMQ项目 point 打点接口项目 3 关键代码详解 3 1 mq项目 mq properties mq defaultm
  • 最新一键安装jumpserver

    最新一键安装开源堡垒机 jumpserver 安装环境unbun18 预先安装了docker 20 10 12 官网 jumpserver install 执行代码 curl sSL https github com jumpserver
  • IDEA开发SpringBoot+mybatis 新手快速入门

    因为最近学习Java 自己练习springboot和mybatis 练习一下 一 IDEA创建springboot项目 2 pom xml 引用相关文件