【springboot+mybatis实现CURD模版项目-Jesus】

2024-01-04 17:04

本文主要是介绍【springboot+mybatis实现CURD模版项目-Jesus】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

springboot+mybatis实现CURD模版项目-Jesus

    • STEP 1 项目创建
  •    1.1 新建Spring Initializr项目
  •    1.2 选择需要的依赖 springboot有2.7.2直接选272
    • STEP 2 配置更改
  •    2.1更改maven配置
  •    2.2 检查项目配置jdk、sdk、jre版本一致
  •    2.3 检查pom文件,Maven-Reload project构建下载包,不报红即可
  •    2.4 删除properties文件,改用yaml配置文件
  •    2.5 启动一下
    • STEP 3 实现业务CRUD
  •    3.1 库中建表
  •    3.2 项目结构
  •    3.3 实体类、controller层、service层、mapper数据访问层、分别写代码
  •    3.4 启动类增加注解

目的:创建一个新项目Jesus(基于idea2022),实现CRUD,该项目作为学习模版。

————————————————————————————————————————

STEP 1 项目创建

   1.1 新建Spring Initializr项目

  在这里插入图片描述

   1.2 选择需要的依赖 springboot有2.7.2直接选272

  

STEP 2 配置更改

   2.1更改maven配置

在这里插入图片描述

   2.2 检查项目配置jdk、sdk、jre版本一致

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

   2.3 检查pom文件,Maven-Reload project构建下载包,不报红即可

   Maven的 Plugins 报红,执行命令mvn dependency:resolve-plugins,该命令的作用是:解决依赖关系,根据POM文件,下载或者更新该项目所依赖的库文件。
   pom文件会报版本不匹配,报错搜一下更新成适配版本就行了,下面是最终可用的pom文件。
pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="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"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>Jesus</artifactId><version>0.0.1-SNAPSHOT</version><name>Jesus</name><description>Jesus</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.2</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><mybatis.spring.boot.version>2.1.3</mybatis.spring.boot.version><java.version>1.8</java.version><mysql.version>8.0.29</mysql.version><druid.version>1.2.6</druid.version><commons.lang.version>2.6</commons.lang.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web-services</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis.spring.boot.version}</version></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>${commons.lang.version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>${druid.version}</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

   2.4 删除properties文件,改用yaml配置文件

application.yml

spring:profiles:active: dev

application-dev.yml

server:port: 8080spring:datasource:username: root【数据库名】password: zxy000123【数据库密码】url: jdbc:mysql://localhost:3306/zxy【库名称】?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTCdriver-class-name: com.mysql.jdbc.Drivermybatis:mapper-locations: classpath:mapping/*Mapper.xmltype-aliases-package: com.example.entity
#showSql
logging:level:com:example:mapper : debug

   2.5 启动一下

在这里插入图片描述
在这里插入图片描述

STEP 3 实现业务CRUD

   3.1 库中建表

CREATE TABLE `user` (`id` int(32) NOT NULL AUTO_INCREMENT,`userName` varchar(32) NOT NULL,`passWord` varchar(50) NOT NULL,`realName` varchar(32) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

   3.2 项目结构

   新建controller、entity、mapper、service文件夹在com.example.jesusu下
   新建mapping在resurces下
在这里插入图片描述

   3.3 实体类、controller层、service层、mapper数据访问层、分别写代码

entity—User.java

package com.example.jesus.entity;public class User {private Integer id;private String userName;private String passWord;private String realName;public Integer getId() {return id;}public void setId(Integer 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;}public String getRealName() {return realName;}public void setRealName(String realName) {this.realName = realName;}@Overridepublic String toString() {return "User{" +"id=" + id +", userName='" + userName + '\'' +", passWord='" + passWord + '\'' +", realName='" + realName + '\'' +'}';}
}

Controller—UserController.java

package com.example.jesus.controller;import com.example.jesus.entity.User;
import com.example.jesus.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/testBoot")
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("getUser/{id}")public String GetUser(@PathVariable int id){return userService.Sel(id).toString();}
}

Service—UserService.java

package com.example.jesus.service;import com.example.jesus.entity.User;
import com.example.jesus.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class UserService {@AutowiredUserMapper userMapper;public User Sel(int id){return userMapper.Sel(id);}
}

Mapper—UserMapper.java

package com.example.jesus.mapper;import com.example.jesus.entity.User;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;@Repository
public interface UserMapper {User Sel(int id);
}

Mapper—UserMapping.xml

<?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.example.jesus.mapper.UserMapper"><resultMap id="BaseResultMap" type="com.example.entity.User"><result column="id" jdbcType="INTEGER" property="id" /><result column="userName" jdbcType="VARCHAR" property="userName" /><result column="passWord" jdbcType="VARCHAR" property="passWord" /><result column="realName" jdbcType="VARCHAR" property="realName" /></resultMap><select id="Sel" resultType="com.example.entity.User">select * from user where id = #{id}</select></mapper>

   3.4 启动类增加注解

   加上注解用于给出需要扫描的mapper文件路径
   @MapperScan(“com.example.mapper”)

package com.example.jesus;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@MapperScan("com.example.jesus.mapper") //扫描的mapper
@SpringBootApplication
public class JesusApplication {public static void main(String[] args) {SpringApplication.run(JesusApplication.class, args);System.out.println("启动Jesus项目成功");}}

这篇关于【springboot+mybatis实现CURD模版项目-Jesus】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/569994

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J