![](https://img-blog.csdnimg.cn/20200121191416122.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Mybatis
文章平均质量分 81
.
家师曹先生
这个作者很懒,什么都没留下…
展开
-
逻辑分页 or 物理分页
逻辑分页依赖的于编程语言,数据库返回的不是分页结果,而是全部符合查询条件的数据,这些数据被一次性读取到内存中,然后通过代码来截取分页数据返回给用户。常用的操作是一次性从数据库中查询出全部符合的数据并存储到 List 集合中 ( 因为 List 集合有序 ),再根据索引获取指定范围的数据原创 2023-02-05 02:07:31 · 1072 阅读 · 1 评论 -
MyBatis-Plus 条件构造器
queryWrapper是mybatis plus中实现查询的对象封装操作类 Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示 AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件。原创 2023-02-04 00:44:14 · 361 阅读 · 0 评论 -
MyBatis-Plus使用注意事项
是用 MyBatis-Plus 提供的方法进行条件操作时,条件中的 key 是数据库中的字段,而不是实体中的属性名。原创 2023-02-01 15:33:22 · 272 阅读 · 0 评论 -
MyBatis-Plus 分页操作
BaseMapper 接口中提供了 selectPage(Page page, Wrapper queryWrapper) 分页方法进行分页查询。当需要配置拦截器和分页插件。 MybatisPlusInterceptor 是 MyBatis-Plus 框架中的拦截器,是一个插件系统,可以对 MyBatis-Plus 执行的 SQL 语句进行拦截。它可以在执行 SQL 语句执行或者之后执行额外的操作,以实现一些额外的功能,例如:分页、逻辑删除、乐观锁等。MyBatis-Plus 内置了多个拦截器,用户原创 2023-02-01 12:26:40 · 1069 阅读 · 0 评论 -
MyBatis-Plus 的CRUD接口
在 Mapper 接口中实现了 BaseMapper 接口后,就可以通过 BaseMapper 接口的方法来实现简单的 CRUD 功能。无需开发者手动在注解或者 XML 中编写 SQL 语句,底层会根据我们调用的方法以及传入的条件参数自动生成 SQL 语句。 在此之前,需要你在 idea 中通过 Ctrl + Shift + N 快捷键查看一下 BaseMapper 接口、Compare 接口、QueryWrapper 实体对象封装操作类的源代码。原创 2023-01-30 16:15:25 · 351 阅读 · 0 评论 -
MyBatis-Plus快速开始
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。只做增强不做改变的意思是:MP不会影响原生的 MyBatis 功能,使用了 MP ,也可以用原生的 MyBatis 写法,它在 MyBatis 的基础上做了增强,提供了很多强大好用的方法。原创 2023-01-28 19:19:55 · 925 阅读 · 2 评论 -
MyBatis复习(十):注解开发
MyBatis有两种开发方式:XML开发和注解开发XML开发就是基于mapper映射器的开发方式原创 2020-05-28 17:32:19 · 190 阅读 · 0 评论 -
MyBatis复习(九):MyBatis整合C3P0连接池
为什么引入连接池首先我们要明白," 建立数据库连接 " 是相当消耗资源和时间的,同时,建立数据库连接的数量也是有限的(所以在初学时,才强烈要求操作完后,一定要记得关闭数据库连接,避免造成资源浪费)。当多用户同时请求操作的情况下,就会造成频繁的数据库连接和关闭,导致系统性能低下。所以为了解决这个问题,就引入了"池"的概念,数据库连接池主要职责是管理"连接"(建立连接、关闭连接等)。在创建连接池的时候,一般会初始化连接池中的连接数量,以及最大连接数量。当用户请求连接时,就会从连接池中获取连接,如果连接池的原创 2020-05-25 02:40:20 · 395 阅读 · 0 评论 -
MyBatis复习(八):MyBatis 分页插件 PageHelper
PageHelper是国人开源的一款MyBatis扩展插件,可以帮助完成自动分页功能。PageHelper自动分页插件使用非常简单,如果持久层框架用的是MyBatis,建议使用该分页插件。引入分页插件<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.11.原创 2020-05-24 15:45:17 · 284 阅读 · 0 评论 -
MyBatis复习(七):MyBatis批量处理
foreach是动态SQL的一个重要元素,我们可以将任何可迭代对象(List、Set等)、Map对象或数组对象作为集合参数传递给foreach,然后通过迭代传入的集合参数进行批量操作处理。原创 2020-05-23 19:33:47 · 249 阅读 · 0 评论 -
MyBatis复习(六):MyBatis二级缓存
Mybatis缓存分为一级缓存和二级缓存MyBatis一级缓存是默认开启的,数据存储范围是SqlSession会话这个级别,当SqlSession关闭后,缓存就会被清除,生命周期非常短。MyBatis二级缓存需手动开启,二级缓存存储范围为Mapper Namespace(Mapper映射器的命名空间)MyBatis缓存数据是存储在JVM内存中,它存储对象的本质是利用Map保存缓存数据。二级缓存运行规则: 二级缓存开启后,默认所有的查询操作均使用缓存 写/插入操作commit提交时,原创 2020-05-22 19:53:19 · 318 阅读 · 0 评论 -
MyBatis复习(五):获取多表关联查询结果
为保证返回结果的个字段的前后顺序一致,需要将resultType查询结果类型改为java.util.LinkedHashMap,LinkedHashMap底层是链表,在进行数据提取时,是按照我们往里插入数据时的先后顺序进行保存,因此不会像HashMap一样出现乱序现象原创 2020-05-17 23:36:08 · 614 阅读 · 0 评论 -
MyBatis复习(四):#{}占位符与SQL传参
MyBatis处理#{},是通过PreparedStatement的set方法来赋值(Stirng类型参数在解析时会自动加上双引号,其它数据类型则不加双引号),可以有效的防止SQL注入,提高系统安全性原创 2020-05-17 22:14:11 · 470 阅读 · 0 评论 -
MyBatis复习(三):MyBatis核心对象SqlSessionFactory和SqlSession
MyBatis有两个核心对象:SqlSessionFactory、SqlSessionSqlSessionFactory是MyBatis的核心对象,主要用于加载配置文件,初始化MyBatis,并创建SqlSession的作用。所以需要保证SqlSessionFactory在应用中全局唯一SqlSession是MyBatis操作数据库的核心对象。SqlSession实在原始JDBC的基础上进行扩展,简化了与数据库的交互工作。并且SqlSession对象提供了数据表的CRUD对应的API方法。原创 2020-05-17 15:26:32 · 814 阅读 · 1 评论 -
MyBatis复习(二):mybatis-config.xml核心配置文件
XML核心配置文件项目的开发一般都会有不同的环境:开发环境 / 生产环境 / 测试环境。我们通过environments的default属性用于指定环境类型dataSource的type属性用于指定数据库连接类型,mybatis提供三种类型:POOLED、UNPOOLED、JNDItype=“POOLED”,代表使用连接池,close则表示将连接回收到连接池中type=“UNPOOLED”,代表直连,close则会调用Connection.close关闭连接,这种方式容易造成资源浪费&原创 2020-05-16 18:42:46 · 185 阅读 · 0 评论 -
MyBatis复习(一):开眼看世界
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。原创 2020-05-16 18:42:01 · 193 阅读 · 0 评论 -
菜鸟学了SpringBoot后,撸了个博客项目(大神跳过哈)
项目是使用Semantic-UI + Spring Boot + MyBatis实现的,编辑器用Editormd(有问题评论区留言)这是源码地址: https://github.com/CD4356/blog原创 2020-03-28 23:48:46 · 328 阅读 · 0 评论 -
MyBatis日志插件:Mybatis Log Plugin——将控制台输出的mybatis日志转化成可执行的sql语句
为什么使用Mybatis Log Plugin插件?1. Mybatis是当前java操作数据库的首选框架,在开发的时候,mybatis输出的sql日志会在console控制台中输出。2. 但默认情况下,控制台中输出的sql脚本是不可以直接执行的,需要我们手动进行拼接,如果sql语句很长很复杂,拼接起来就会很耗时间,也可能因拼接3. Mybatis Log Plugin插件解决了该麻烦,它会将mybatis输出的sql日志 转化成 可执行的sql语句,省略了我们拼接的过程。可以直接复制出来执行原创 2019-10-28 15:14:42 · 2261 阅读 · 2 评论 -
binding.BindingException: Invalid bound statement (not found): xxx → dao接口和mapper.xml映射文件绑定异常
在进行mybatis开发的时候, 可能会遇到org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): xxx 这样的错误。从BindingException可以看出这是一个绑定异常, 意思就是无法将dao接口和mapper.xml文件进行映射绑定。在分析该错误之前, 先看下面的这个配置片段:...原创 2019-09-13 03:59:35 · 975 阅读 · 0 评论 -
idea 使用 maven 整合 ssm 框架 实现简单的增、删、改 和 分页查询功能
详细请参考: idea 使用 maven 整合 ssm 框架文章目录配置文件jdbc.propertiesTeacher.xmlapplicationContext.xmldispatcher-servlet.xmlweb.xmljava 文件Teacher 实体类TeacherMappepr 接口TeacherService 接口TeacherServiceImpl 实现类Page ...原创 2019-05-05 21:15:06 · 933 阅读 · 9 评论 -
Spring 整合 Mybatis
MyBatis整合Spring中间jar包 mybatis-spring-1.3.1.jar原创 2019-04-18 19:44:40 · 284 阅读 · 0 评论 -
idea 使用maven 整合ssm框架
效果图在浏览器地址栏中输入http://localhost:8080/getAll原创 2019-04-23 14:39:02 · 746 阅读 · 0 评论 -
MyBatis 快速入门
MyBatis(持久层:将数据从内存中转移到磁盘中,实现数据的持久化存储):简化JDBC操作,实现数据的持久化ORM(Object Relational Mapping):对象关系映射编写程序的时候,以面向对象的方式处理数据,在持久化对象上执行基本的增、删、改、查操作保存数据的时候,却以关系型数据库的方式存储MyBatis是ORM的一个实现...原创 2019-04-13 13:07:19 · 369 阅读 · 0 评论