springboot整合mybatis的超详细过程(配置模式+注解模式)
作者:笑霸final 发布时间:2023-10-03 09:54:03
标签:springboot,mybatis,注解
一.简单介绍
1.配置相关的依赖
2.配置模式
3写.mapper、controller、service
4.配置yaml文件 配置mybatis全局配置文件
(这里我使用的是配置模式+注解模式所以需要配置全局文件)
二具体配置
2.1.配置相关的依赖.
当然也可以在创建springboot的时候勾选对应的功能
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
<!--mybatis整合springboot起步依赖-->
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
2.2 写.mapper、controller、service
在写这个之前话要写基本的pojo
pojo相关 这里使用了 lombok
package com.xbfinal.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ssmdb {
private Integer id;
private String name;
private String type;
private String description;
}
2.2.1mapper文件
话不多说注意代码的注释
package com.xbfinal.mapper;
import com.xbfinal.pojo.ssmdb;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface ssmdbMapper {
//更具id查对应的书用注解模式
@Select("select * from tbl_book where id=#{id}")
public ssmdb getById(int id);
//查询所有的书 ,这里我们用配置模式
//配置模式我个人喜欢用来写复制的sql语句(狗头)
public List<ssmdb> getAll();
}
2.2.2service文件
一般用来实现mapper的 直接看代码
package com.xbfinal.service;
import com.xbfinal.mapper.ssmdbMapper;
import com.xbfinal.pojo.ssmdb;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ser {
@Autowired
ssmdbMapper ssmdbMapper;
public ssmdb getById(int id){
return ssmdbMapper.getById(id);
}
public List<ssmdb> getAll(){
return ssmdbMapper.getAll();
}
}
2.2.2controller文件
package com.xbfinal.controller;
import com.xbfinal.pojo.ssmdb;
import com.xbfinal.service.ser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class controller01 {
@Autowired
ser ser;
@RequestMapping("/id")
public String to01(){
final ssmdb byId = ser.getById(1);
return byId.toString();
}
@RequestMapping("/all")
public String to02(){
// final ssmdb byId = ser.getById(1);
final List<ssmdb> all = ser.getAll();
return all.toString();
}
}
2.3配置相关文件
1.写mysql的文件。写在application.yaml文件中
spring:
datasource:
password: 0615
username: root
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
在static文件下创建mybatis文件夹然后创建配置文件如下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--基本的东西都不用配置,因为springboot配好了-->
</configuration>
接着在mapper文件下写mybatis对应的mapper配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xbfinal.mapper.ssmdbMapper">
<!--public List<ssmdb> getAll();-->
<select id="getAll" resultType="com.xbfinal.pojo.ssmdb">
select * from tbl_book
</select>
</mapper>
最后在yaml文件中配好mybatis
mybatis:
config-location: classpath:static/mybatis/mybatis-config.xml
mapper-locations: classpath:static/mybatis/mapper/*.xml
三、结果截图
数据库
四、可能遇到的报错
SpringBoot连接数据库报错:Access denied for user ‘root‘@‘localhost‘ (using password: YES)
解决方案
检查自己的mysql配置是否正确如果正确尝试一下把密码加上""如图
来源:https://blog.csdn.net/weixin_52062043/article/details/124434652


猜你喜欢
- 本文实例讲述了Android编程中沉浸式状态栏的三种实现方式。分享给大家供大家参考,具体如下:沉浸式状态栏Google从android ki
- 概述从今天开始, 小白我将带大家开启 Jave 数据结构 & 算法的新篇章.链表链表 (Linked List) 是一种递归的动态数
- 本文实例为大家分享了Java Socket聊天室功能的具体代码,供大家参考,具体内容如下Client.javaimport java.io.
- 直接上代码吧。昨晚腾讯在线测试遇到的题。螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,向左变大,向上变大,如
- 前言在前后端分离开发的时候我们需要用到参数校验,前端需要进行参数校验,后端接口同样的也需要,以防传入不合法的数据。1、首先还是先导包,导入p
- 本文实例讲述了Java模拟QQ桌面截图功能实现方法。分享给大家供大家参考。具体如下:QQ的桌面截图功能非常方便,去年曾用Java模拟过一个,
- 在Java中,当为一个类创建了多个构造函数时,有时想在一个构造函数中调用另一个构造函数以减少代码量。这时可以使用this关键字来实现。有关构
- Web Services 可以将应用程序转换为网络应用程序。通过使用 Web Services,您的应用程序可以向全世界发布信息,或提供某项
- String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要
- 本教程源码https://github.com/bestaone/HiAuth源码比较全面,教程我就只介绍关键代码了,喜欢的点个star,谢
- 本文实例讲述了Java Bean与xml互相转换的方法。分享给大家供大家参考,具体如下:XML和Java Bean互相转换是一个很有用的功能
- 问题当我们数据库中的字段和实体类中的字段不一致的时候,查询会出问题数据库字段是 pwdid name pwd1 张三 1234562 李四
- Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 1.方法声明时使
- 1:先检查 字段有没有加上注解 @TableField(fill = FieldFill.INSERT_UPDATE)@TableField
- 1. 内部类很多时候我们创建类的对象的时候并不需要使用很多次,每次只使用一次,这个时候我们就可以使用内部类了1.1 内部类概述内部类就是在一
- 前言本文主要给大家介绍了关于Spring Boot应用极速部署脚本的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧
- 解决 INSTALL FAILED CONFLICTING PROVIDER的问题方法 在安装Android应用时出现
- Alert顾名思义一就是一个警告框,一般使用情况比如:退出登录,清楚缓存,提示修改密码等等。。。ReactNative中的Alert只有一个
- we can custom min heap or max heap by override the method compare.pack
- 目录前言:一、IronPython二、Python打包exe调用三、Python提供WebApi接口(推荐)总结:前言:在平时工作中,需求有