首页 > 其他分享 >mybatis知识复习

mybatis知识复习

时间:2024-09-17 10:37:08浏览次数:9  
标签:xml Mapper 复习 配置文件 数据库 知识 SQL mybatis

配置文件方式--快速入门
image

这里插入几个学习时的错误:

  1. mybatis-config.xml找不到Mapper:我的原因是把Mapper放到了Java下的SRC路径,但IDEA并不会寻找到,所以要么是在pom.xml中加上。。。(没看),我用的是:在resource下建立一个同名的包:com/。/xxx
    如果不想建立一个新包(但一般都会吧?),参考这个链接(里面有个用代码解决的方法):
    https://blog.csdn.net/ShiXinXin_Harbour/article/details/100639021
  2. 明明连接上了数据库,但Mapper中报错: Unable to resolve table 'course' ,解决:在MySQL里的DataSource里的project setting下主动连接需要的数据库。
  3. 明明连接上了数据库,但找不到数据库,很简单,在“ 1 of 18”(我的 显示)中点击数据库即可,因为你并没有让数据库显示出来,所以它就不显示了。
  4. 以上错误的正确解决方法都在CSDN的Java容器中收藏着
  5. 图中总是报错,说找不到对应的方法(大致这意思)
    image
    解决方法:因为“。。。”的对于的是Mapper.xml的namespace,所以namespace必须要一致!
  6. 错误原因:“Cause: org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping ” ,
    解决方法:因为我在调用这个方法时,使用的是Map进行封装,所以在Mapper中的paramType也要是Map,所以就解决了
    image
  7. 老师说的很好:delete、insert、update操作没有resultType属性,默认返回int型
    parameterType=Map,表示参数类型为Map,用Map封装参数 #表示在获取参数时可防止SQL注入攻击,应尽量使用#;模糊查询时,使用$
    INSERT INTO users SET username=,这种SQL语句是MmySql特有的扩展功能
  8. 上面问题7的再次说明,不想写了,直接链接:https://blog.csdn.net/ShiXinXin_Harbour/article/details/100655088

Mapper代理开发:

最终的项目结构
image
步骤:image
步骤的第一步,需要注意:建包是,不能用“。”分隔,要用“/”分隔
第二步:

加载SQL映射文件(Mapper):

郝娟老师教的跟这里的不同点:这里是有Mapper接口和Mapper.xml,但郝老师的是CourseDao取代了Mapper接口

插件mybatix简化了Mapper接口有SQL语句之间的关系,直接点那个“胖鸟”即可跳转到相应代码区域。

查询所有数据&步骤:
image

重点内容:不能自动映射属性名与列名
其实也可以在mybatis配置文件中设置。
image

参数占位符;parameterType;SQL语句中特殊字符处理
image

模糊查询,需要代码自动添加 模糊符号:%
image

多条件查询(动态查询条件)
image

SQL语句设置多个参数的方式:加上@Param注解;用实体类封装参数;map集合
image

动态SQL & 2种标签 & 多条件查询:
image

单条件动态查询 & choose标签;when标签;otherwise标签 :
image

凡是更新数据库的操作,必须提交事务:手动提交事务或者设置自动提交事务
image

需要添加数据,但是添加数据后,需要这条数据的ID:
keyProperty是实体类的属性,并不是sql字段(网上查的)
image

动态更新数据:
set标签,避免许多错误

批量删除数据 & 参数的集合 & 还是占位符 & 别忘了“()” & 或者用图中的分隔符 :
image

别名的设置:是在mabatis的主配置文件中设置的。
image

想要根据ID删除一条数据,本来想用#{id}的,但可惜的是总报错,所以就只能先这样,后续在学习这一点:
image

mybatis参数传递

总结mybatis编写代码的套路:

  1. 在pom.xml中引入对应的依赖,包括:mybatis;log4j;connector-mysql;等
  2. 创建mybatis主配置文件:mybatis-config.xml,可以从mybatis中文网中直接复制,修改对应的数值(需要连接的是数据库,不是数据库的表)即可。
  3. 假设需要操作的数据库为Animal,操作的表为Bird,生成pojo类,将Bird对应的属性,方法都生成好。
  4. 写出Bird对应的Mapper接口,写出需要用SQL执行的方法。
  5. 写出Mapper接口的实现配置文件:即BirdMapper.xml,用静态或动态的SQL语句实现接口的方法。
  6. 写一个测试类,测试方法。这个类的代码也可在mybatis中文网中复制,修改文件路径,修改对应的方法、类名即可。

标签:xml,Mapper,复习,配置文件,数据库,知识,SQL,mybatis
From: https://www.cnblogs.com/fromWell888Dare/p/16785681.html

相关文章

  • Java多线程复习
    目录3种创建方式(现阶段推荐Runnable接口)下载网上的图片(利用了commons-io中的copyUrlToFiles方法)小结买票的例子(Thread的构造方法,获取当前线程的名称,线程休眠)龟兔赛跑的例子实现Callable接口线程停止线程休眠线程礼让Join方法(main线程与Thread子线程)线......
  • day04 必备基础知识
    day04必备基础知识今日概要进制单位编码1.进制1.1烽火狼烟古代打仗用烽火狼烟来进行传递信号生活中灯泡的亮与暗用来指示信息(用电来抓耗子,灯亮表示抓到了)用亮灯用1表示,则上述的情景为:110010010100100001计算机本质上都有由晶体管和二极管组成(类比为灯......
  • day03 基础知识
    day03基础知识今日概要switchcase语句,条件判断。for循环语句,循环。goto语法,不太建议使用。字符串格式化,“拼接”数据。运算符1.switch语句packagemainfuncmain(){ //表达式 /* switch1+1{ case1: fmt.Println("等于1") case2: fmt.Println......
  • C++入门基础知识71(高级)——【关于C++ 模板】
    成长路上不孤单......
  • java毕业设计——基于java+Mybatis的仓库管理系统设计与实现(全套源码+配套论文)——仓
    基于java+Mybatis的仓库管理系统设计与实现(毕业论文+程序源码)大家好,今天给大家介绍基于java+Mybatis的仓库管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。文章目录:基于java+Mybatis的仓库管理系统设计与实现(毕业论文+程序源码)1、项目简介2、资源......
  • CSP 初赛要点复习
    位运算逻辑与、按位与之类的东西是不同的!“逻辑”的是判断两个数都不为\(0\),“按位”的是判断两个数的每一个二进制位与的结果,是不同的。其他运算也类似。运算符优先级如图所示:注意,~和!是同级的。加法位运算表示:a+b=(a^b)+((a&b)<<1)。与的符号开口向下,和交集的符号\(......
  • mysql 常用知识点总结
    MySQL是一种广泛使用的关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)。了解MySQL的语法对数据库管理和操作非常重要。以下是MySQL语法的详细完整解释,涵盖基本概念、创建表、查询、修改数据等内容。1.基础概念数据库(Database):数据库是存储数据的容器,里面可以包含......
  • SolidJS-每日小知识(9/15)
    知识介绍在视图缩放时,对SVG中的元素也进行缩放,使得text、circle等在放大后不会过于占据视野对mainSVG中的蓝点增加双击强调的效果对双击强调后的蓝点在lenSVG视图中,增加其他元素的半透明效果代码分析1在视图缩放时,对SVG中的元素也进行缩放,使得text、circle等在放大后不会......
  • springboot+vue信息安全知识学习微信小程序【程序+论文+开题】计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,信息安全已成为现代社会不可忽视的重要议题。网络攻击、数据泄露、隐私侵犯等事件频发,不仅给个人用户带来巨大损失,也对企业的运营安全和国家的信息安全构成了严峻挑战。在此背景下,提升公众的信息安全意识和技......
  • 嵌入式开发必懂入门知识:认识嵌入式元件
    目录第一章嵌入式元件基础1.1电阻1.1.1电阻的基本概念与单位1.1.2电阻的种类及其在电路中的作用1.2电容1.2.1电容的基本原理与分类1.2.2电容在电路中的储能与滤波作用1.3电感1.3.1电感的基本概念与单位1.3.2电感在电路中的电磁感应作用第二章半导体元件......