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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 快速学习 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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
SQL Java 数据库连接
Spring Boot整合MyBatis
Spring Boot整合MyBatis
|
1天前
|
Java 数据库连接 Spring
Spring 整合 MyBatis 底层源码解析
Spring 整合 MyBatis 底层源码解析
|
2天前
|
Java 数据库连接 数据库
Spring Boot 集成 MyBatis-Plus 总结
Spring Boot 集成 MyBatis-Plus 总结
|
2天前
|
SQL Java 数据库连接
MyBatis-Plus学习笔记(1):环境搭建以及基本的CRUD操作
MyBatis-Plus学习笔记(1):环境搭建以及基本的CRUD操作
|
4天前
|
Java 数据库连接 数据库
Springboot整合mybatis注解版(202005)
Springboot整合mybatis注解版(202005)
14 3
|
4天前
|
安全 前端开发 Java
挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构
挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构
12 1
|
1天前
|
Java 机器人 测试技术
Spring Boot中的自定义注解应用
Spring Boot中的自定义注解应用
|
1天前
|
Java 数据库连接 数据库
Spring Boot与MyBatis的集成应用
Spring Boot与MyBatis的集成应用
|
2天前
|
Java 应用服务中间件 Spring
SpringBoot条件注解原理
可以看到isPresent的逻辑是通过FilteringSpringBootCondition.resolve(className, classLoader); 来尝试加载该类,如果能正常加载,则代表该类存在,如果不能则代表该类不存在。
10 0
|
2天前
|
XML Java 数据库连接
SpringBoot(九)之整合mybatis
mybatis-spring-boot-starter 可以简化在 Spring Boot 项目中集成 MyBatis 的过程,并且事务管理也会自动配置。在 Spring Boot 2.x 及以上版本中,只需添加相应的依赖和配置,即可启用事务管理。
6 0