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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 快速学习 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
相关文章
|
19天前
|
XML Java 数据格式
SpringBoot入门(8) - 开发中还有哪些常用注解
SpringBoot入门(8) - 开发中还有哪些常用注解
37 0
|
2月前
|
Java Spring
在使用Spring的`@Value`注解注入属性值时,有一些特殊字符需要注意
【10月更文挑战第9天】在使用Spring的`@Value`注解注入属性值时,需注意一些特殊字符的正确处理方法,包括空格、引号、反斜杠、新行、制表符、逗号、大括号、$、百分号及其他特殊字符。通过适当包裹或转义,确保这些字符能被正确解析和注入。
|
14天前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
26天前
|
XML JSON Java
SpringBoot必须掌握的常用注解!
SpringBoot必须掌握的常用注解!
46 4
SpringBoot必须掌握的常用注解!
|
4天前
|
前端开发 Java Spring
探索Spring MVC:@Controller注解的全面解析
在Spring MVC框架中,`@Controller`注解是构建Web应用程序的基石之一。它不仅简化了控制器的定义,还提供了一种优雅的方式来处理HTTP请求。本文将全面解析`@Controller`注解,包括其定义、用法、以及在Spring MVC中的作用。
20 2
|
7天前
|
Java 数据库连接 数据库
spring和Mybatis的逆向工程
通过本文的介绍,我们了解了如何使用Spring和MyBatis进行逆向工程,包括环境配置、MyBatis Generator配置、Spring和MyBatis整合以及业务逻辑的编写。逆向工程极大地提高了开发效率,减少了重复劳动,保证了代码的一致性和可维护性。希望这篇文章能帮助你在项目中高效地使用Spring和MyBatis。
7 1
|
24天前
|
SQL 缓存 Java
MyBatis如何关闭一级缓存(分注解和xml两种方式)
MyBatis如何关闭一级缓存(分注解和xml两种方式)
63 5
|
24天前
|
Java 数据库连接 mybatis
Mybatis使用注解方式实现批量更新、批量新增
Mybatis使用注解方式实现批量更新、批量新增
46 3
|
27天前
|
存储 缓存 Java
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
95 2
|
27天前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
38 1