SpringBoot如何集成Mybatis呢?
admin
2024-04-11 06:00:19
0

转自:

SpringBoot如何集成Mybatis呢?

下文笔者讲述SpringBoot集成Mybatis的方法分享,如下所示

Mybatis简介

Mybatis是一个ORM框架ORM框架是我们操作数据库中不可缺少的一部分
Mybatis框架可借助SQL将查询结果转换为ORM对象将对象插入至数据库中
实现思路:1.引入mybatis starter器2.设置配置信息3.编写相应的脚本

引入Mybatis依赖


org.mybatis.spring.bootmybatis-spring-boot-starter1.2.0
注意事项:mybatis会自动引入jdbc所以无需加入spring-boot-starter-jdbc依赖

添加数据库配置信息

spring:datasource:url: jdbc:mysql://localhost:3306/testusername: rootpassword: 123456driver-class-name: com.mysql.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSource

controller:@RestController
@RequestMapping("/mybatis")
public class MybatisController {@Autowiredprivate MybatisService service;/*** 更新用户信息* @param user_id 用户ID* @param nickName 昵称*/@PutMapping("/updateUser/{id}")public void updateUser(@PathVariable("id") String user_id, @RequestParam("nickName") String nickName){service.updateUser(user_id,nickName);}/*** 获取用户信息* @param id 用户Id* @return*/@GetMapping("/getUser/{id}")public UserInfo getUser(@PathVariable("id")  Integer id){return service.getUser(id);}/*** 删除用户* @param tel*/@DeleteMapping("/deleteUserByUserId/{tel}")public void deleteUserByUserId(@PathVariable("tel")  String tel){UserInfo user  = new UserInfo();user.setTel(tel);service.deleteUserByUserId(user);}/*** 使用@RequestBody获取参数,用map类型接收,再取出* @param reqMap*/@PostMapping("/createUserByMap")public void createUserByMap(@RequestBody Map reqMap){service.createUser(reqMap);}}service@Service
public class MybatisService {@Autowiredprivate MybatisUserAnnotaionMapper annotaionMapper;public void updateUser(String user_id, String nickName) {annotaionMapper.updateUser(user_id,nickName);}public UserInfo getUser(Integer id) {return annotaionMapper.getUser(id);}public void deleteUserByUserId(UserInfo userInfo) {annotaionMapper.deleteUserByUserId(userInfo);}public void createUser(Map reqMap) {annotaionMapper.createUser(reqMap);}
}dao:@Mapper
public interface MybatisUserAnnotaionMapper {@Insert("INSERT INTO test.tp_user(tel,password,nickname,secret) VALUES (#{tel},md5(#{pwd}),#{tel},'')")void createUser(Map reqMap);@Select("select tel,nickname,password FROM test.tp_user WHERE user_id = #{id}")UserInfo getUser(@Param("id") Integer id);@Update("UPDATE test.tp_user SET nickname = #{nickName} WHERE user_id = #{userId}")void updateUser(@Param("userId") String user_id, @Param("nickName") String nickName);@Delete("DELETE FROM test.tp_user WHERE tel = #{tel}")void deleteUserByUserId(UserInfo userInfo);
}
注意事项:以上操作方式我们需保证数据库列名和对象名一致如果不一致时,请使用as关键字转换

另:将脚本使用xml配置文件的方式编写

XML文件放于resources下mapper目录



INSERT INTO test.tp_user(tel,password,nickname,secret) VALUES (#{tel},md5(#{pwd}),#{tel},'')UPDATE test.tp_user SET nickname = #{nickName} WHERE user_id = #{userId}DELETE FROM test.tp_user WHERE tel = #{tel}
注意事项:使用以上方式1.需在application.yml中加入相应的配置信息mybatis:mapper-locations: classpath:mapper/*.xml2.启动类上加入扫描mybatis包的注解@MapperScan(basePackages = "com.java265.dao")

相关内容

热门资讯

【MySQL】锁 锁 文章目录锁全局锁表级锁表锁元数据锁(MDL)意向锁AUTO-INC锁...
【内网安全】 隧道搭建穿透上线... 文章目录内网穿透-Ngrok-入门-上线1、服务端配置:2、客户端连接服务端ÿ...
GCN的几种模型复现笔记 引言 本篇笔记紧接上文,主要是上一篇看写了快2w字,再去接入代码感觉有点...
数据分页展示逻辑 import java.util.Arrays;import java.util.List;impo...
Redis为什么选择单线程?R... 目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程?三、R...
【已解决】ERROR: Cou... 正确指令: pip install pyyaml
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
Lock 接口解读 前置知识点Synchronized synchronized 是 Java 中的关键字,...
Win7 专业版安装中文包、汉... 参考资料:http://www.metsky.com/archives/350.htm...
3 ROS1通讯编程提高(1) 3 ROS1通讯编程提高3.1 使用VS Code编译ROS13.1.1 VS Code的安装和配置...
大模型未来趋势 大模型是人工智能领域的重要发展趋势之一,未来有着广阔的应用前景和发展空间。以下是大模型未来的趋势和展...
python实战应用讲解-【n... 目录 如何在Python中计算残余的平方和 方法1:使用其Base公式 方法2:使用statsmod...
学习u-boot 需要了解的m... 一、常用函数 1. origin 函数 origin 函数的返回值就是变量来源。使用格式如下...
常用python爬虫库介绍与简... 通用 urllib -网络库(stdlib)。 requests -网络库。 grab – 网络库&...
药品批准文号查询|药融云-中国... 药品批文是国家食品药品监督管理局(NMPA)对药品的审评和批准的证明文件...
【2023-03-22】SRS... 【2023-03-22】SRS推流搭配FFmpeg实现目标检测 说明: 外侧测试使用SRS播放器测...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
初级算法-哈希表 主要记录算法和数据结构学习笔记,新的一年更上一层楼! 初级算法-哈希表...
进程间通信【Linux】 1. 进程间通信 1.1 什么是进程间通信 在 Linux 系统中,进程间通信...
【Docker】P3 Dock... Docker数据卷、宿主机与挂载数据卷的概念及作用挂载宿主机配置数据卷挂载操作示例一个容器挂载多个目...