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

Spring学习——MyBatisPlus入门

MyBatisPlus入门案列

  • MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率

  • 开发方式

    • 基于MyBatis使用MyBatisPlus
    • 基于Spring使用MyBatisPlus
    • 基于SpringBoot使用MyBatisPlus

SpringBoot整合MyBatis开发过程(复习)

  • 创建SpringBoot工程
  • 勾选配置使用的技术
  • 设置dataSource相关属性(JDBC参数)
  • 定义数据层接口映射配置

SpringBoot整合MyBatisPlus入门程序

  1. 创建新模块,选择Spring初始化,并配置模块相关基础信息
  2. 选择当前模块需要使用的技术集(不用选择Mybatis)
  3. 手动添加MyBatisPlus起步依赖
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.1</version>
</dependency>
  • 由于MyBatisPlus并未被收录到Spring Initializr的系统内置配置,无法直接选择加入
  1. 设置Jdbc参数(application.yml)
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
    username: root
    password: passwd
  • 如果使用Druid数据源,需要导入对应坐标
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.16</version>
</dependency>
  1. 制作对应的实体类和表结构
//实体名和表名不一致或不满足驼峰命名时
@TableName(value = "tb_user")
public class User {
    private Long id;
    private String name;
    private String password;
    private String age;
    private String tel;

	//getter/setter...
        
    //toString...
}
  1. 定义数据接口,继承BaseMapper<User>
@Mapper
public interface UserDao extends BaseMapper<User> {
}
  1. 测试类中注入dao接口,测试功能
@SpringBootTest
class MybatisPlusDemoApplicationTests {
    @Autowired
    private UserDao userDao;
    
    @Test
    void testGetAll() {
        List<User> users = userDao.selectList(null);
        users.forEach(System.out::println);
    }
}

MyBatisPlus简介

  • MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发提高效率
  • 官网: MyBatis-Plus (baomidou.com)/MyBatis-Plus

MyBatisPlus特性

  • 无侵入:只做增强不做改变,不会对现有工程产生影响
  • 强大的 CRUD操作:内置通用Mapper,少量配置即可实现单表CRUD操作
  • 支持Lambda:编写查询条件无需担心字段写错
  • 支持主键自动生成
  • 内置分页插件

http://www.kler.cn/a/490.html

相关文章:

  • Python vs PHP:哪种语言更适合网页抓取
  • ssh 完全命令行 登录服务器 , 无需交互的方法
  • SLES网络
  • 基础优化方法
  • Cesium材质——Material
  • 【ANGULAR网站开发】初始环境搭建
  • 极智AI | GPT4来了,ChatGPT又该升级了
  • JS学习第11天——函数进阶(this指向、严格模式、高阶函数、闭包、递归)
  • 一个nginx的小项目,不写代码,实现在局域网内访问其他电脑的网页
  • 裸辞3个月,面试了25家公司,终于找到心仪的工作了
  • C#基础之面向对象编程(二)
  • MySQL:JDBC
  • 快速测试两台服务器间的网速(ChatGPT回复)
  • 2022年全国职业院校技能大赛(中职组)网络安全竞赛试题——MYSQL安全测试解析(详细)
  • 【linux】:进程概念
  • 08从零开始学Java之记事本怎么编写Java代码?
  • Java基于UDP实现 客户端/服务器
  • ARM学习(19)交叉编译工具链的理解
  • 解析带小数的字节流
  • Graphics2D绘制图形详解
  • IIS发布.net6 api+微信小程序/H5真机调试接口的流程
  • 【SpringMVC】获取 -请求参数- 的多种方式
  • 《深入浅出WPF》——XAML语法及基础知识
  • 过来人告诉你:Java学到什么程度可以找工作?
  • C++【list容器模拟实现函数解析】
  • 【数据结构】万字超详解顺序表(比细狗还细)