Mybatis
文章平均质量分 53
学习Mybatis相关笔记,踩坑记录整理
程序员-小李
长路漫漫,任重而道远
展开
-
回顾:springboot快速整合mybatis-plus
mybatis-plus相比mybatis做了增强,提供了基础的CRUD接口。下面我们记录下如何将其快速整合到springboot项目中.整体上springboot整合mybatis-plus还是很简单的。创建项目=》导入依赖=》配置数据库=》mapper文件位置、日志输入等=》model=》mapper=》@Aurowired注入使用即可。原创 2022-10-26 08:52:58 · 257 阅读 · 0 评论 -
mybatis插件之PageHelper,从此分页so easy
分页在实际开发中非常使用,实现分页的方式也挺多,不借助工具手写分页逻辑也能实现,使用工具可以帮助我们更方便快捷实现。今天一起来看看mybatis的一款分页插件PageHelper的用法:在此记录一下:使用起来也很简单,下面操作一下在pom.xml导入jar包 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pag.原创 2022-01-10 16:47:05 · 1001 阅读 · 0 评论 -
mybatis辅助神器--自动生成model,dao,mapper
今天分享一个用于mybatis生成代码的神器,经过简单的配置我们可以自动生成数据库里相应的表的model,dao,mapper文件,先上图看下效果假如我们数据库有这样一张class表通过简单配置我们就可以自动生成相应的代码文件:实体类:public class Cla { private Integer cid; private String cname; private String clocation; public Integ原创 2022-01-04 13:37:15 · 2082 阅读 · 2 评论 -
聊聊MyBatis中的动态SQL(附实例演示)
首先,动态SQL是Mybatis的强大特性之一。利用这一特性可以让我们摆脱根据不同条件拼接SQL语句的痛苦(如拼接SQL语句要确保不能忘记添加必要的空格,还要注意去掉列表里最后一个列名的逗号等等)这个标签提供了可选的查找文本功能根据是否传入相应的字段来确定要不要把if标签内的语句拼接到主SQL语句。实例:数据库表:对应实体类:@Alias("blog")@Data@AllArgsConstructor@NoArgsConstructorpublic class blog ..原创 2021-07-25 22:41:18 · 734 阅读 · 1 评论 -
如何处理MyBatis中一对多关联关系?
何为一对多关联关系呢?举个例子,比如说一个老师有多个学生,那么老师对学生就是一对多的关联关系下面用实例演示,用到的数据库表:学生表,有主键id, 姓名,tid(外键,对应哪个老师)教师表,有主键id, 姓名上面两个表的关系是多对一的关系现在我们要从上面的表中:查找指定老师下的所有学生及老师信息学生实体类@Data@Alias("stu")public class stu { private int id; private Stri...原创 2021-07-25 13:53:28 · 329 阅读 · 1 评论 -
MyBatis中多对一关系的两种处理方式:联表查询与子查询
多对一关联关系在现在现实生活中的例子很多很多,比如一个学校可以包含很多个学生,一个学生只属于一个学校,那么学生和学校就是多对一的关系。下面用例子演示如何进行多对一的处理首先是有两个表,分别是学生表,有主键id, 姓名,tid(外键,对应哪个老师)教师表,有主键id, 姓名上面两个表的关系是多对一的关系现在我们要从上面的表中:查询每个学生信息以及每个学生对应的老师信息表对应实体类package com.ys.pojo;import lombok.Da...原创 2021-07-24 23:09:14 · 861 阅读 · 4 评论 -
浅谈MyBatis分页开发,你知道有哪些实现方式呢?
分页查询:就是将数据库查询的结果在有限的界面上分好多页显示,分页是许多网站的常用功能,也是最基本的功能。为什么要分页?减少数据的处理量下面用例子演示说明实现分页查询的两种方式:方式一:使用limit分页,即在SQL语句中使用limit限定词,如:1.接口: // 分页查询 List<stu> selectstulimit(Map<String, Integer> map);2.Mapper.xml <selec..原创 2021-07-24 00:07:20 · 433 阅读 · 4 评论 -
MyBatis映射器中#和$的区别,你了解吗
我们看下面一个mapper:<mapper namespace="com.ys.Dao.peopleDao"> <select id="selectById" parameterType="_int" resultType="people"> select * from people where ID=#{ID}; </select></mapper>上面的SQL语句中使用了#{ID},为何不使用${ID}呢?.原创 2021-07-23 23:05:43 · 154 阅读 · 0 评论 -
在练习mybatis时遇到了错误java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed及解决
刚刚还能跑的项目,在我关机休息过后再次启动项目运行出现了下面的报错:(???)org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed意思大概是错误查询数据库,不允许公钥检索原来我连接数据库的信息是这样的:&l...原创 2021-07-23 15:50:57 · 1283 阅读 · 3 评论 -
mybatis中mappers注册的三种方式,你get了吗?
映射器(mappers)是用来定义SQL的映射语句,告诉mybatis去哪里找这些语句下面介绍三种方式:方式1:为每一个mapper.xml文件都在mybatis核心配置文件中注册,即使用相对于类路径的资源引用如:<mappers> <mapper resource="org/mybatis/builder/AuthorMapper.xml"/> <mapper resource="org/mybatis/builder/BlogMapper..原创 2021-07-22 23:58:20 · 867 阅读 · 0 评论 -
遇到 java. io. IOException: Could not find resource mybatis-config. xml 可咋整?点刷新图标又莫名好使了咋回事
不知咋地好好地突然出来这个问题了?然后就又是检查配置环境又是百度搜解决办法,奈何都不行,一直显示上面的报错我懵了,真不会搞了。。。然后我就无意识地点了两下下面的两个图标然后再运行跑一下居然又行了。。。。啊这。。这舍原因啊??? 求大神帮解答一下疑惑...原创 2021-07-22 11:31:25 · 142 阅读 · 0 评论 -
用mybatis实现模糊查询的两种方式
例子演示:数据库:接口文件: /*模糊查询*/ List<fruits> getfruits(String value);对应实现上述接口的.xml文件方式1: <select id="getfruits" resultType="fruits" > select * from fruits where name like #{value} </select>对应测试文件(可测试通过):.原创 2021-07-21 10:38:16 · 489 阅读 · 1 评论 -
在Mybatis中使用万能的Map传参,实现增删改查
在编程中,有可能遇到我们的实体类或者数据库中表的字段或参数过多的情况,那这时候用Map传参是比较理想的选择。Map的特性是键值对应的,只要确定了一个键key,那么值value可以是任何的数据,这样就可以在map内存中存入任何数据。下面例子演示在mybatis中结合Map实现基本的增删改查数据库表(fruits)结构:实体类:package com.pojo.pp1;import java.math.BigDecimal;/** * 简述: *创建实体 * @au..原创 2021-07-20 23:58:38 · 7123 阅读 · 26 评论 -
类型别名是mybatis的好帮手,你用对了吗?
这几天在在学习mybatis,做了一些练习,在Dao接口文件对应的.xml文件,尝尝要重复写这个全限定名,如下图:(这么长,每次都要重复写,是不是感觉很麻烦,o(╥﹏╥)o)看了“类型别名”,简单配置一下就不用这么麻烦了,给这长长的全限定名换个简短的别名就好了,步骤如下:(以上图为例)序号2中的文件名以你实际的命名为准,官方的命名是 mybatis-config.xml序号3中标签的位置要按一定的顺序:(否则会报错)(properties?,settings?,typeAli...原创 2021-07-20 20:30:33 · 107 阅读 · 0 评论 -
第二弹:Mybatis实现CRUD的操作(Demo练习)
今天通过练习,学会了结合Mybatis框架对数据库进行简单CEUD的操作,在此记录一下。什么是CRUD?CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中DataBase或者持久层的基本操作功能。练习操作的表:stu创建maven项目后,如下(用到的文件已经红色方框画出)重要文件的内容如下:pom.xml文件<?xml versio...原创 2021-07-19 23:00:56 · 272 阅读 · 0 评论 -
学习mybatis——记录第一个跑起来的小demo
今天首次学习mybatis这个框架,鼓捣了一个下午才成功跑起来一个小demo,我是看B站的视频学的,上面老师讲半个小时,我跟着操作也整了几个小时才搞好,不是这出问题,就是那出问题,在这里总结一下基本的mybatis使用步骤:先看下我项目的结构:实现步骤:1.新建的people表(我测试用的表)我连接的数据库名为ems,表people,两个数据段,ID(int),name(varchar),然后往表中插入了几条数据2.加maven的mybatis坐标,mysq1驱动的坐标.原创 2021-05-23 23:02:06 · 157 阅读 · 0 评论