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

MyBatisPlus 基础实现(一)

说明

创建一个最基本的MyBatisPlus项目,参考官网。

依赖

MyBatisPlus 依赖,最新版是:3.5.3.2 (截止2023-9-4)。

        <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.2</version></dependency>

因为连接的是mysql数据库,还要加入mysql驱动的依赖

        <dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency>

配置

数据源(MySQL)配置

spring:datasource:url: jdbc:mysql://localhost:3306/mybatisplus?serverTimeZone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: passworddriver-class-name: com.mysql.cj.jdbc.Driver

此处,相比较使用 MyBatis 的配置,url 增加了 allowPublicKeyRetrieval=true;否则,会报错:

Public Key Retrieval is not allowed

Mapper

package com.example.web.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.web.entity.User;public interface UserMapper extends BaseMapper<User> {
}

Mapper扫描配置

package com.example;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@MapperScan(basePackages = {"com.example.web.mapper"})
public class MybatisPlusDemoApplication {public static void main(String[] args) {SpringApplication.run(MybatisPlusDemoApplication.class, args);}}

测试

代码

package com.example;import com.example.web.entity.User;
import com.example.web.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.List;@SpringBootTest
class MybatisPlusDemoApplicationTests {@Autowiredprivate UserMapper userMapper;@Testpublic void testSelect() {System.out.println(("----- selectAll method test ------"));List<User> userList = userMapper.selectList(null);userList.forEach(System.out::println);}
}

测试打印日志

----- selectAll method test ------
2023-09-04 23:50:47.920  INFO 12640 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2023-09-04 23:50:48.442  INFO 12640 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
User(id=1, name=Jone, age=18, email=test1@baomidou.com)
User(id=2, name=Jack, age=20, email=test2@baomidou.com)
User(id=3, name=Tom, age=28, email=test3@baomidou.com)
User(id=4, name=Sandy, age=21, email=test4@baomidou.com)
User(id=5, name=Billie, age=24, email=test5@baomidou.com)

Controller直接调用Mapper

此处只是测试通过接口调用Mapper,就直接将Mapper写在Controller里面了;
实际的项目中,一般是通过Service再调用Mapper的。

代码

package com.example.web.controller;import com.example.web.entity.User;
import com.example.web.mapper.UserMapper;
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.RestController;import java.util.List;@RestController
@RequestMapping("users")
public class UserController {@Autowiredprivate UserMapper userMapper;@GetMappingpublic List<User> selectAll() {return userMapper.selectList(null);}}

接口调用结果

在这里插入图片描述

参考

MyBatisPlus官网

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

相关文章:

  • jmeter 计数器Counter
  • OpenCV(十九):模板匹配
  • 【iOS】Category、Extension和关联对象
  • 支持向量机(一)
  • MyBatis中至关重要的关系映射----全方面介绍
  • 47、TCP的流量控制
  • 密码学入门——环游密码世界
  • 笔记本家庭版本win11上win+r,运行cmd默认没有管理员权限,如何调整为有管理员权限的
  • MavenCentral库发布记录
  • 小程序进阶-env(safe-area-inset-bottom)的使用
  • 移动端App持续集成体系构建实战
  • Mybatis的关联关系配置一对一,一对多,多对多的映射关系
  • 计算机竞赛 基于深度学习的中文情感分类 - 卷积神经网络 情感分类 情感分析 情感识别 评论情感分类
  • 时序预测 | MATLAB实现CNN-BiGRU卷积双向门控循环单元时间序列预测
  • [Rust GUI]0.10.0版本iced代码示例 - progress_bar
  • 使用vue-pdf出现的卡顿,空白,报错,浏览器崩溃解决办法
  • (笔记七)利用opencv进行形态学操作
  • Spring是什么?
  • 电梯SIP-IP五方对讲管理系统
  • leetcode283移动零
  • Docker 部署SpringBoot项目,使用外部配置文件启动项目
  • 电子半导体行业电能质量监测与治理系统解决方案 安科瑞 许敏
  • pdfh5在线预览pdf文件
  • Java智慧工地大数据中心源码
  • 关于人工智能的担忧
  • JVM之强软弱虚引用
  • Python编程练习与解答 练习98:一个数是素数吗
  • vue3+ts+uniapp实现小程序端input获取焦点计算上推页面距离
  • 【2023集创赛】加速科技杯二等奖作品:基于ATE的电源芯片测试设计与性能分析
  • Java入坑之Robot类