SpringBoot 整合 Mybatis(注解方式)|学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 快速学习 SpringBoot 整合 Mybatis(注解方式)

开发者学堂课程【SpringBoot 实战教程  SpringBoot 整合 Mybatis(注解方式)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/651/detail/10800


SpringBoot 整合 Mybatis(注解方式)


1、在 springboot 中利用注解的方式整合 mybatis首先需要依赖 jar 包依赖 mybatis 包和 mysql 包不用连接池直接依赖它们两个

2、创建好一个工程跟 web 进行整合写好启动类mybatis 包和 mysql 包依赖好之后配置连接数据库的信息

<!--springboot 整合 mybatis,注解版-->

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>1.3.1</version>

</dependency>

<!--MySQL-->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

</dependency>

3、创建全局配置文件命名为 application.propertiesproperties 和 yml 两个都需要会用使用 db1数据库为例

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.url=jdbc:mysql://localhost:3306/db1

4、准备好后以用户表为例在逆向工程中已经生成了 pojo准备实体类用注解的方式不需要 example把它删掉只需要留下实体类即可对应的是用户表创建一个包命名为 com.db1.mapper

5、mapper 用的是注解的方式不需要逆向工程中生成的 mapper以注解方式如何实现

6、在 UsersMapper.java 中创建一个接口写一个功能根据姓名查找用户为什么不需要 xml 配置文件在接口中对应的功能上直接写 sql 语句根据姓名查询用户对应的 sql 语句在定义接口的同时就把功能对应的 sql 语句写好了name 值如何获取相当于输入参数用 param 注解解决

package com. db1. mapper ;

import org. apache. ibatis . annotations.param;

import org . apache . ibatis . annotations . Select;

import com.db1 ·pojo.Users;

public interface User sMapper {

@Select ("select * from userswhere name=# {name }")

Users findUserByName (@Param("name") String name) ;

}

这就是用注解的方式整合 mybatis不需要 mapper.xml 配置文件这个是查找再输入添加用户只指定 name 和 password对应添加的 sql 语句输入 insert 注解进行导入只给 name 和 password 指定值values 里面需要写两个单位符输入 name 和 password 两个字段方法和对应的 sql 语句写在一起即可

@Insert ("insert intousers (name, password)values(#{name}, #{password}) )

void addUser (@Param ("name") String name, @Param ("password") String password) ;

}

7、需要生成 mapper 的代理对象扫描 mapper 即可创建 interface命名为 usersservice

8、写接口对应两个功能一个是查找用户一个是添加用户

package com. qianfeng. service;

import com.db1 .pojo. Users;

public interface UsersService {

Users findUser (String name) ;

void saveUser (Users) ;

}

9、创建 class命名为 UsersServicelmpl

10、首先加入注解Service 里面要使用 usersmapper进行注入

@Service

public class UsersServiceImpl implements UsersService {

@Autowired

private UsersMapper usersMapper;

@Override

public Users findUser (Stringname) {

return usersMapper . findUserByName (name) ; 返回的查询出的对象

}

@Override

public voidsaveUser (Users user) {  保存

usersMapper.addUser(user.getName(), user .getPassword() ) ;

}

11、创建命名为 userscontroller

import org. spr ingframework . beans . factory . annotation. Autowired;

import org . springframework. stereotype . Controller;

Importcom. qianfeng. service . UsersService;

@restController

public class UsersController {

@Autowired

Private UsersService usersService ;

@RequestMapping("/ findUser") 指定对象

//@ResponseBody  返回用户对象阶层数据即可

public Users findUser (String name )查询对象以阶层格式返回即可需要传递名字

{

return usersService. findUser (name) ;

}

@RequestMapping ("/addUser")

//@ResponseBody

public String addUser ()

{

Usersuser=new Users () ;创建 users 对象

user . setName ("王小二") ;

user . set Password("9999") ;

usersService . saveUser (user) ;

return"ok";

}

12、service 和 controller 都要被扫描mapper 也要扫描在启动类中加上扫描它会扫描它的子包mapper 要用单独的一个注解 mapperscan

@SpringBootApplication(scanBasePackages="com. qianfeng")

@MapperScan ("com. db1. mapper")

13、启动访问查找用户查找用户需要给它传递 name输入localhost:8080/findUser?name=/小红回车可以看到返回的阶层数据

image.png

14、添加功能添加王小二返回的是 users输入localhost:8080/addUser报错

image.png

15、控制台提示 sql 语句表名写错应该是 users字串是 name 和 password重新启动在表里面可以看到王小二9999添加进来

image.png

这就是 springboot 如何用注解的方式整合 mybatis

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
18天前
|
Java Spring
在使用Spring的`@Value`注解注入属性值时,有一些特殊字符需要注意
【10月更文挑战第9天】在使用Spring的`@Value`注解注入属性值时,需注意一些特殊字符的正确处理方法,包括空格、引号、反斜杠、新行、制表符、逗号、大括号、$、百分号及其他特殊字符。通过适当包裹或转义,确保这些字符能被正确解析和注入。
|
7天前
|
XML JSON Java
SpringBoot必须掌握的常用注解!
SpringBoot必须掌握的常用注解!
28 4
SpringBoot必须掌握的常用注解!
|
28天前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
87 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
28天前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
48 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
9天前
|
存储 缓存 Java
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
44 2
|
9天前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
26 1
|
23天前
|
架构师 Java 开发者
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
在40岁老架构师尼恩的读者交流群中,近期多位读者成功获得了知名互联网企业的面试机会,如得物、阿里、滴滴等。然而,面对“Spring Boot自动装配机制”等核心面试题,部分读者因准备不足而未能顺利通过。为此,尼恩团队将系统化梳理和总结这一主题,帮助大家全面提升技术水平,让面试官“爱到不能自已”。
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
|
3天前
|
存储 安全 Java
springboot当中ConfigurationProperties注解作用跟数据库存入有啥区别
`@ConfigurationProperties`注解和数据库存储配置信息各有优劣,适用于不同的应用场景。`@ConfigurationProperties`提供了类型安全和模块化的配置管理方式,适合静态和简单配置。而数据库存储配置信息提供了动态更新和集中管理的能力,适合需要频繁变化和集中管理的配置需求。在实际项目中,可以根据具体需求选择合适的配置管理方式,或者结合使用这两种方式,实现灵活高效的配置管理。
8 0
|
28天前
|
XML Java 数据库
Spring boot的最全注解
Spring boot的最全注解
|
27天前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
44 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库