当前位置: 首页 > news >正文

Mybatis的springboot项目使用

删除数据 & 占位符

一般常用占位符进行数据库操作,也就是预编译sql。

在UserMapper中定义删除接口

/*
 * 根据id删除用户
 */
@Delete("delete from user where id = #{id}")
void deleteById(Integer id);

若想要获取返回值,声明为Integer (sql语句会返回影响的行数,因此编写返回值时需要根据sql语句)
在这里插入图片描述

新增数据

Mapper接口:
@Insert

@Insert("insert into user(包含的字段, username, pass...) values(#{username}, #{...} ...)") // 动态传递
public void insert(User user); // 将修改的值封装成一个对象传递

修改数据–update

Mapper接口:

@Update

@Update("update user set username=#{username}, password=#{pa...}... where id=#{...}")
public void update(User user); // 保持字段名和属性名一致,字段有啥属性就要有啥
例:User user = new User(1, 周瑜, 123 ...);

查询数据

Mapper接口:

@Select

@Select("select * from user where username=#{username} and password=#{password}")
// 将查询返回的信息封装到一个对象当中@Param注解给接口的方法形参起名字,这样就可以在Select注解中使用这个名字,因为这个方法需要传入好几个参数password, username等,会混淆,所以用注解起名表示.
@Select("select * from user where username=#{user}")
public User find(@Param("user") String username);

XML映射配置

  • 在Mybatis中,既可以通过注解配置SQL语句,也可以通过XML配置文件配置SQL语句。
  • 默认规则:
    1. XML映射文件名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)
    2. XML映射文件的namespace属性为Mapper接口全限定名一致。
    3. XML映射文件中sql语句的id与Mapper接口的方法名一致,并保持返回类型一致。

在这里插入图片描述
注意敲resources中的结构时用斜杠不要用点:
com/itheima/mapper,这样创建的才是同包同名

简单的sql用注解,复杂的sql用XML配置文件

这里不具体讲了,用到再说。

Mybatis数据库连接池

在这里插入图片描述
切换连接池
在这里插入图片描述

  1. 引入德鲁伊依赖
  2. 在application.properties中配置数据库连接池信息
    在这里插入图片描述
    end

致谢:本文参考黑马程序员的视频。
https://www.bilibili.com/video/BV1yGydYEE3H/?vd_source=1b8f9bfb1d0891faf1c70d7678ae56db

http://www.dtcms.com/a/122930.html

相关文章:

  • 【leetcode hot 100 198】打家劫舍
  • 【力扣hot100题】(074)前 K 个高频元素
  • Nginx之https重定向为http
  • 【DvAdmin】接口返回 emoji 显示 ?解决方法
  • ArkTS语言入门之接口、泛型、空安全、特殊运算符等
  • vue3的router.ts中,在children和不在的区别
  • Python 爬取 1688.item_get_factory 接口:获取工厂档案信息实战指南
  • MySQL中FIND_IN_SET函数与INSTR函数用法解析
  • 鸿蒙小案例---心情日记
  • VSCode解决中文乱码方法
  • 【c语言】深度剖析数据在内存中的存储
  • SpringAI调用硅基流动免费模型
  • 应急响应-进程排查
  • Ceph异地数据同步之-Cephfs异地同步复制
  • 【图书管理系统】全栈开发图书管理系统获取图书列表接口(后端:计算图书页数、查询当前页展示的书籍)
  • 前端三件套—HTML入门
  • 数论学习笔记:素数筛
  • 数据库事务隔离级别
  • 前端性能指标详解
  • 【Leetcode-Hot100】盛最多水的容器
  • React 响应事件
  • 如何实现文本回复Ai ChatGPT DeepSeek 式文字渐显效果?前端技术详解(附完整代码)
  • 【MySQL】安装
  • CD25.【C++ Dev】类和对象(16) static成员(上)
  • redis(2)-mysql-锁
  • 经典算法 最近点对问题
  • 猜猜乐游戏(python)
  • Trae AI 保姆级教程:从安装到调试全流程指南
  • FastAdmin和thinkPHP学习文档
  • 国标GB28181协议EasyCVR视频融合平台:5G时代远程监控赋能通信基站安全管理