当前位置: 首页 > news >正文

基础模板Mybatis-plus+Springboot+Mysql开发配置文件

1.pom.xml

<dependencies><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency>// mybatisplus功能<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version></dependency>// 数据库连接<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></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>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.11</version></dependency>// 开发注解<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional><version>1.18.4</version></dependency>// 功能测试<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency>
</dependencies>

2.application.yml

spring:profiles:active: prodatasource:url: jdbc:mysql://localhost:3306/mpdriver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: admin123
mybatis-plus:global-config:db-config:# 是否打印 SQLsql-logger: truelogic-delete-value: 1logic-not-delete-value: 0configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 使用控制台输出日志
logging:level:com.baomidou.mybatisplus: DEBUG  # 设置 MyBatis-Plus 的日志级别为 DEBUG
---
server:port: 80
spring:config:activate:on-profile: pro
---
server:port: 81
spring:config:activate:on-profile: test

 3.项目文件夹层级

4.mybatis-plus文件配置

package com.itcast.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;@Configuration
@ComponentScan("com.itcast.mapper")
public class MybatisPlusConfig {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() { //注册插件MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); //new一个mybatisplus插件对象,再下面注入各插件interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 分页插件interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); // 乐观锁插件//乐观锁插件机制:Plus是在数据表中加上一个数据版本号 version 字段,表示数据被修改的次数。当数据被修改时,version 值会+1。当事务A要更新数据值时,在读取数据的同时也会读取 version 值,在提交更新时,会校验刚才读取到的 version 值与当前数据库中的 version 值相等return interceptor;}
}

5.controller层

@RestController
@RequestMapping("user")
public class UserController {@Autowiredprivate UserService userService;@GetMapping("getList")public IPage<User> getList(@RequestParam(defaultValue = "2") int pageNum,@RequestParam(defaultValue = "2") int pageSize) {return userService.findAll(pageNum, pageSize);}@PostMapping("addUser")public Boolean addUser(@RequestBody User user) {SexEnum sexEnum = SexEnum.fromValue(user.getSex());if (sexEnum.getValue() == null) {return false;}System.out.println("传入参数:" + user);return userService.addUser(user);}
}

6.mapper层

@Mapper
public interface UserMapper extends BaseMapper<User>  {IPage<User> findAll(Page<?> page);
}

7.service层

7.1 service文件

public interface UserService {IPage<User> findAll(int pageNum, int pageSize);Boolean addUser(User user);
}

7.2 serviceImpl文件

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {@Autowiredprivate UserMapper userMapper;@Overridepublic IPage<User> findAll(int current, int size) {Page<User> page = new Page<>(current, size);return userMapper.findAll(page);}@Overridepublic Boolean addUser(User user) {Boolean result = userMapper.insert(user) > 0;System.out.println("新增结果:" + result);return result;}
}

8.resource层

8.1 mapper

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itcast.mapper.UserMapper"><select id="findAll" resultType="com.itcast.pojo.User">SELECT * FROM user</select>
</mapper>

namespace对应mapper到名字,resultType为返回的数据类型 

http://www.lryc.cn/news/407986.html

相关文章:

  • java-poi实现excel自定义注解生成数据并导出
  • LeetCode707 设计链表
  • [Mysql-DDL数据操作语句]
  • google 浏览器插件开发简单学习案例:TodoList;打包成crx离线包
  • 如何学习Doris:糙快猛的大数据之路(从入门到专家)
  • 梯度下降算法,gradient descent algorithm
  • Spring boot 2.0 升级到 3.3.1 的相关问题 (六)
  • C++模版基础知识与STL基本介绍
  • Android 防止重复点击
  • 使用阿里云云主机通过nginx搭建文件服务器
  • 微信Android一面凉经(2024)
  • VMware、Docker - 让虚拟机走主机代理,解决镜像封禁问题
  • 版本管理|为什么不推荐使用Git Rebase
  • Https post 请求时绕过证书验证方案
  • C# 数组常用遍历方式
  • 【JavaScript】详解Day.js:轻量级日期处理库的全面指南
  • AI算法与图像处理 | 吴恩达团队新作!多模态方向
  • 云服务器Ubuntu18.04进行Nginx配置
  • SQL labs-SQL注入(四,sqlmap对于post传参方式的注入)
  • R包:plot1cell单细胞可视化包
  • Tent混沌人工蜂群与粒子群混合算法遇到问题,具体问题及解决方案如文。
  • Python文献调研(一)环境搭建
  • URL重写
  • git配置环境变量
  • vue3编程-import.meta.glob实现动态路由(菜单)
  • 富唯智能转运机器人:高效、智能、未来的选择
  • 跨境电商独立站:Shopify/Wordpress/店匠选哪个?
  • 减轻幻觉新SOTA,7B模型自迭代训练效果超越GPT-4,上海AI lab发布
  • 53.最大子数组和,动态规划+贪心解法!!!
  • python+vue3+onlyoffice在线文档系统实战20240723笔记,项目界面设计和初步开发