![](https://img-blog.csdnimg.cn/20210618181221212.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MyBatis
文章平均质量分 62
主要学习ORM框架,MyBatis,Hibernater等
程序员路同学
九八年程序员一枚,喜欢钻研技术,从事后端开发,正努力向全栈发展,如果你有更好的技术分享,欢迎私信留言
展开
-
深入源码分析Spring boot 集成Pagehelper
引入依赖:<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId></dependency>pagehelper分页插件 github网址:https://github.com/pagehelper/Mybatis-PageHelperP..原创 2022-05-08 16:59:33 · 807 阅读 · 0 评论 -
因为一个bug来深入探讨下分页插件PageHelper
事情来源是这样的,因为某些操作失误,在使用分页插件pageHelper时,因为这样一句不起眼的操作,竟然引发了一系列的灾难,下面来看下灾难的由来:Page localPage = PageHelper.startPage(page, limit);注意参数 page和limit我的失误呢是因为参数page是0,导致mybatis层在执行sql分页查询的时候,只做了count统计查询总数 ,并没有去执行mapper实际查询语句,也是导致selectList查询语句查询的结果是空,于是我深入了原创 2022-05-08 14:33:31 · 1223 阅读 · 0 评论 -
MyBatis 分页插件pagehelper使用
引入分页插件: <!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.6</version> </dependenc...原创 2021-02-04 13:16:42 · 151 阅读 · 1 评论 -
mybatis的二级缓存你了解多少
缓存机制Mybatis提供查询缓存,如果缓存中有数据就不用从数据库中获取,用于减轻数据压力,提高系统性能。Mybatis的查询缓存总共有两级,我们称之为一级缓存和二级缓存一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。二级缓存是Mapper(namespace)级别的缓存。多个SqlSession去操作同一个Mappe原创 2021-02-04 11:26:17 · 193 阅读 · 0 评论 -
Mybatis 延迟加载使用
在一对一映射中使用:首先配置延迟加载,需要在mybatis.xml中配置 <settings> <setting name="lazyLoadingEnabled" value="true"/> <!-- 配置是否为深度加载,默认就是false,所以也可以不写,使用侵入式加载就用true--> <setting name="aggressiveLazyLoading" value="false"/>...原创 2021-02-03 11:42:56 · 165 阅读 · 0 评论 -
Mybatis关系映射一对一的关系
表结构:t_person表 个人表t_idcard表 身份证表身份证与个人一对一关联实体映射类:@Datapublic class IdCard { private Integer id; private String code;}@Datapublic class Person { private Integer id; private String name; private Integer age; pri.原创 2021-02-03 09:47:19 · 141 阅读 · 0 评论 -
MyBatis 对数据库的CRUD脚本操作
<select>元素<select>元素用来映射查询语句,它可以帮助我们从数据库中读取出数据,并组装数据给业务开发人员。<select>元素的常用属性例子: <!-- 根据id查询证件信息 --> <select id="findCodeById" parameterType="Integer" resultType="mybatis.pojo.IdCard"> SELECT * from t_i.原创 2021-02-02 17:14:01 · 194 阅读 · 0 评论 -
Mybatis 模糊查询那点事
@Datapublic class IdCard { private Integer id; private String code;}@Datapublic class Person { private Integer id; private String name; private Integer age; private String sex; /** * 个人证号ID */ private ...原创 2021-02-02 16:35:46 · 116 阅读 · 0 评论 -
跨域资源共享 CORS 详解
1 什么是跨域 浏览器因为安全考虑,所有设置了同源策略,同源策略简单理解就是 域名,端口号,协议 完全相同就是称为同源同源下的页面质检可以进行Js的dom操作,如果不在同一个源下的任何文档dom访问都被组织,不同源下的访问就称为跨域请求跨域请求 分为以下几个方面端口号不同 http://www.baidu.com/a.js - http://www.baidu.com:8080/b.js主域相同子域不同 http://www.baidu.com/a.js - htt...原创 2021-01-27 14:37:05 · 439 阅读 · 0 评论 -
Spring整合MyBatis
环境准备Spring所需要的的包 AOP开发使用的JAR aopalliance-1.0.jar aspectjweaver-1.8.10.jar spring-aop-4.3.6.RELEASE.jar spring-aspects-4.3.6.RELEASE.jar 4个核心模块JAR spring-beans...原创 2020-12-17 17:30:31 · 113 阅读 · 0 评论 -
MyBatis 一对多 多对多关联映射
一对一映射关联身份证与个人一对一关联身份证类public class IdCard { private Integer id; private String code; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getCode() { return code; } public void setCode(Str原创 2020-12-13 19:12:18 · 553 阅读 · 0 评论 -
MyBatis学习 关联映射
关联关系在关系型数据库中,多表之间存在着三种关联关系,分别为一对一、一对多和多对多,如下图所示:一对一一对一 在任意一方引入对方主键作为外键;一对多 在“多”的一方,添加“一”的一方的主键作为外键;多对多 产生中间关系表,引入两张表的主键作为外键,两个主键成为联合主键或使用新的字段作为主键。在Java中,通过对象也可以进行关联关系描述,如图下图所示:一对一一对一 在本类中定义对方类型的对象,如A类中定义B类类型的属性b,B类中定义A类类型的属性a;一对多...原创 2020-12-13 17:38:41 · 413 阅读 · 0 评论 -
MyBatis的动态SQL
动态SQL开发人员在使用JDBC或其他类似的框架进行数据库开发时,通常都要根据需求去手动拼装SQL,这是一个非常麻烦且痛苦的工作,而MyBatis提供的对SQL语句动态组装的功能,恰能很好的解决这一麻烦工作。动态SQL是MyBatis的强大特性之一,MyBatis3采用了功能强大的基于OGNL的表达式来完成动态SQ<if>元素在MyBatis中,<if>元素是最常用的判断语句,它类似于Java中的if语句,主要用于实现某些简单的条件选择。其基本使用示例如下:..原创 2020-12-13 17:14:06 · 648 阅读 · 0 评论 -
MyBatis 配置文件
MyBatis框架核心配置 在MyBatis框架的核心配置文件中,<configuration>元素是配置文件的根元素,其他元素都要在<configuration>元素内配置。<properties>是一个配置属性的元素,该元素通常用来将内部的配置外在化,即通过外部的配置来动态的替换内部定义的属性。例如,数据库的连接等属性,就可以通过典型的Java属性文件中的配置来替换jdbc.driver=com.mysql.jdbc.Driverj...原创 2020-12-13 16:48:16 · 343 阅读 · 0 评论 -
MyBatis 初步了解
MybatisMyBatis(前身是iBatis)是一个支持普通SQL查询、存储过程以及高级映射的持久层框架Hibernate与MyBatis有什么区别?Hibernate Hibernate是一个全表映射的框架。 通常开发者只需定义好持久化对象到数据库表的映射关系,就可以通过Hibernate提供的方法完成持久层操作。 开发者并不需要熟练的掌握SQL语句的编写,Hibernate会根据制定的存储逻辑,自动的生成对应的SQL,并调用JDBC接口来...原创 2020-12-13 12:59:10 · 397 阅读 · 0 评论