随笔分类 -  mybatis

摘要:参考:https://www.cnblogs.com/l-y-h/p/12859477.html#_label0 官方文档:https://mp.baomidou.com/ 一)简单了解 1、简介: MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只 阅读全文
posted @ 2021-06-20 22:47 等你的夏天 阅读(1830) 评论(0) 推荐(0)
摘要:本文转载自:https://blog.csdn.net/z_ssyy/article/details/81706876 Mybatis关联查询的两种方式 首先要了解对象的三种关联方式 *数据库表的关联关系有三种,一对一,一对多,多对多一对一 是通过在任意一方的主键,引入对方主键作为外键来实现的,就是 阅读全文
posted @ 2020-07-05 12:17 等你的夏天 阅读(1681) 评论(0) 推荐(1)
摘要:mybatis中的缓存和hibernate的缓存类似,也分为一级缓存和二级缓存; ①一级缓存:为sqlSession级别的缓存。默认开启。使用同一个sqlSession执行查询时,会先从sqlSession的缓存中去获取数据,如果缓存中不存在,再去数据库中查询,并将查询结果缓存到sqlSession 阅读全文
posted @ 2020-05-20 21:46 等你的夏天 阅读(240) 评论(0) 推荐(0)
摘要:1) 在mybatis的主配置文件中配置开启延迟加载; 2) 关闭aggressiveLazyLoading 激进延迟加载项; <!--设置延迟加载--> <setting name="lazyLoadingEnabled" value="true"/> <!--关闭激进延迟加载--> <setti 阅读全文
posted @ 2020-05-19 23:13 等你的夏天 阅读(218) 评论(0) 推荐(0)
摘要:ResultMap 关联映射 使用ResultMap来进行关联查询,是利用主键表和外键表的关系来处理的,它相比前面的少写了一条sql语句,效率相对较高; 通过表连接查询将所需要的数据一并查询出来,然后再通过ResultMap将结果集映射到对应的对象中;单个对象==>association,集合==> 阅读全文
posted @ 2020-05-19 21:57 等你的夏天 阅读(702) 评论(0) 推荐(0)
摘要:public class HClass implements Serializable { public HClass(){ } public HClass(String name, String city) { this.name = name; this.city = city; } } 主要的 阅读全文
posted @ 2020-05-19 11:20 等你的夏天 阅读(3718) 评论(3) 推荐(0)
摘要:Mybatis中通过<association>来配置返回单个对象的关联查询,<collection>配置返回多个对象的关联查询。 关联查询的触发,必须是返回类型指定为resultMap 关联查询的要点,步骤,按着这四个步骤一步一步写,基本上没错; 1)实体类中建立引用关联 (Student类中添加H 阅读全文
posted @ 2020-05-18 23:16 等你的夏天 阅读(550) 评论(0) 推荐(0)
摘要:Mybatis中可以是用注解来替代xml文件编写sql,即省略了.xml文件,全部代码在接口中就可以完成。 将注解写在接口上面,代替xml文件中的标签: 常用的注解有: 1)@Select:替代<select>标签 用来编写select查询语句 查询单条数据: @Select("select id, 阅读全文
posted @ 2020-05-18 22:29 等你的夏天 阅读(522) 评论(0) 推荐(0)
摘要:1、namespace:指定关联的接口;2、用来定义sql片段 ,以供别的地方引用 id 唯一标识该片段,别的地方通过id进行引用 <sql id="allColumn"> (id,name) </sql>3、<set></set>set标签,会去除末尾的逗号4、id:指定关联的方法名 result 阅读全文
posted @ 2020-05-17 22:52 等你的夏天 阅读(554) 评论(0) 推荐(0)
摘要:①查询出所有的记录 List<Player> selectAll(); <select id="selectAll" resultType="Player"> select * from Player </select> ②根据主键查询Player selectById(Integer id); < 阅读全文
posted @ 2020-05-17 22:30 等你的夏天 阅读(528) 评论(0) 推荐(0)
摘要:1、什么是Mybatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。 (2)MyBati 阅读全文
posted @ 2020-05-17 09:49 等你的夏天 阅读(150) 评论(0) 推荐(0)
摘要:resultType:基本映射;通过resultType指定返回的数据类型,如果返回的是集合,则指定的是集合中存储对象的数据类型,要求返回的列名必须与类的属性名一一对应,如果不一致通常可以对列取别名的方式,使列名与属性名一致;只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功;resul 阅读全文
posted @ 2020-05-16 17:05 等你的夏天 阅读(591) 评论(0) 推荐(0)
摘要:动态SQL是mybatis的强大特性之一,mybatis中的动态sql是通过if set where choose foreache等动态标签来实现的。 ①if:根据参数条件判断是否显示某些sql; 例如:List<Teacher> selectMap(Map<String,Object> map) 阅读全文
posted @ 2020-05-16 16:58 等你的夏天 阅读(432) 评论(0) 推荐(0)
摘要:在java中,在我们写一个java文件定义用户的属性时,有可能会出现用户定义的属性名和实际的列名不一致的问题,这时候,当我们操作一些数据的时候,就会出现一些错误,例如:当我们测试查询数据时,并不会报错,但是就是数据为空,而且数据库中也是有数据的,但就是查询出来为null;项目很大,数据很多时,我们显 阅读全文
posted @ 2020-05-16 16:25 等你的夏天 阅读(529) 评论(0) 推荐(0)
摘要:Mybatis mxl配置文件取值方式有两种 分别是#{}和${}。 #{}是预编译的,采用占位符的方式。效率较高,可以防止sql注入。通常都是采用#{}这种方式。 select * from h_student where id=#{id}/? ${} 是直接字符拼接的方法,存在sql注入风险。通 阅读全文
posted @ 2020-05-14 23:49 等你的夏天 阅读(1615) 评论(0) 推荐(0)
摘要:1)传单个基本数据类型或String对象,#{参数名}; 2)传递的是单个引用数据类型对象,#{对象的属性名} 直接获取对象的属性值; 3)传递多个对象时,需要在参数前添加@Param注解指定参数的别名。取值#{参数别名}; 4)传递Map时,可以直接通过#{key}的形式获取value; 5)传递 阅读全文
posted @ 2020-05-14 23:42 等你的夏天 阅读(1371) 评论(0) 推荐(0)
摘要:Mybatis是一个基于sql开发的半ORM持久层框架。其内部封装了jdbc,使开发者只需要关注sql语句本身。其前身是apache的开源项目ibatis。2010年更名为mybatis。 阅读全文
posted @ 2020-05-13 23:39 等你的夏天 阅读(176) 评论(0) 推荐(0)
摘要:1、新建一个项目; 2、导入相关的依赖包; 3、配置mybatis主配置文件,连接信息和mapper位置等; ①mybatis主配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybati 阅读全文
posted @ 2020-05-13 23:14 等你的夏天 阅读(1736) 评论(0) 推荐(0)