
MyBatis
文章平均质量分 67
魔笛手7
这个作者很懒,什么都没留下…
展开
-
MyBatis_MyBatis之相关面试题
Mybatis相关面试题如下:1.MyBatis框架的优缺点MyBatis框架的优点:(1)基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理; 提供XML标签,支持编写动态SQL语句,并可重用。(2)与JDBC相比,消除了JDBC大量冗余的代码,不需要手动开关连接;(3)很好的与各种数据库兼容(因为MyBatis使用JDBC来连接数据库,所以只要JDBC支持的数据库MyBatis...原创 2021-02-11 23:03:35 · 206 阅读 · 0 评论 -
MyBatis_Mybatis之批量操作
1.引入 MyBatis作为操作数据库的一个框架,批量操作是我们在开发中经常需要使用到的。下面我们就一起来学习一下如何使用MyBatis进行数据的批量操作。2.如何使用MyBatis实现批量操作我们之前学习过使用foreach遍历,然后通过不断的添加sql语句拼凑成一条较长的语句转给我们的数据库。如下:<!-- 批量保存 --><!--public void addEmps(@Param("emps")List<Employee> emps); --&..原创 2021-02-10 22:25:24 · 378 阅读 · 0 评论 -
MyBatis_Mybatis之PageHelpler实现数据分页
1.引入 我们在上一次课程中说到了插件的相关使用。这一节课,我们就和大家一起说一下数据操作中常用的一个功能,就是数据的分页显示。那么这里数据的分页显示我们使用PageHelpler来实现操作。那么下面我们一起来看一些如何使用PageHelpler和我们的MyBatis结合实现数据的分页操作。2.PageHelpler简介以及使用(具体内容参见官方文档:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowT.原创 2021-02-09 22:39:35 · 465 阅读 · 0 评论 -
MyBatis_MyBatis之插件
1.引入原创 2021-02-09 19:37:15 · 481 阅读 · 0 评论 -
MyBatis_MyBatis之运行原理
1.引入 MyBatis的运行原理是学习MyBatis中一个比较重要的环节。同时在使用MyBatis的过程中我们经常会使用到插件的问题。这一个时候熟悉运行原理会对我们有较为大的帮助。2.MyBatis运行原理简图3.MyBatis运行原理解析(使用基础的Hello_World为例)(1).MyBatis的插件开发 MyBatis在四大对象的创建过程中,都会有插件进行 介入。插件可以利用动态代理机制一层层的包装目标 对象,而实现在目标对象执行目标方法之前进行拦截 ...原创 2021-02-03 11:03:11 · 174 阅读 · 1 评论 -
MyBatis_MyBatis之逆向工程
1.引入 我们在编写数据库的持久化操作的时候,我们先知道数据库的数据表内容,然后我们会根据数据库表的字段信息去编写对应的javaBean内容,然后根据这一些内容写出查询所需的sql,然后我们会在根据javaBean内容去编写映射文件内容。那么这一个过程在使用java和MyBatis的时候基本上每一个数据库表都需要进行的操作。那么如果有一个技术能够做到把这一个过程直接实现出来。那么就可以把我们需要做的功能内容就会节省下来很多。那么下面我们一起来看一下MyBatis提供的逆向过程操作。2.MyB..原创 2020-08-22 12:17:19 · 284 阅读 · 0 评论 -
MyBatis_MyBatis之缓存
1.引入 我们知道持久化技术中的缓存是一个非常重要的内容。缓存可以有效的解决后台和数据库之间的数据交互的性能问题。MyBatis 包含一个非常强大的查询缓存特性,它可以非 常方便地配置和定制。缓存可以极大的提升查询效率。2.MyBatis缓存 MyBatis中分为一级缓存和二级缓存。 (1).一级缓存:(本地缓存):sqlSession级别的缓存。一级缓存是一直开启的;SqlSession级别的一个Map 与数据库同一次会话期间查询到的数据会放在本地缓存中...原创 2020-08-13 18:47:10 · 157 阅读 · 0 评论 -
MyBatis_MyBatis之动态SQL之抽取可重用的SQL片段
1.引入 我们在编写基本的增删改查的时候会经常重复的使用到相同的SQL语句。那么为了方便操作以及减少编写代码的工作量。MyBatis为我们提供了可以重复使用SQL片段。2.取相关sql片段以及使用注意事项抽取可重用的sql片段。方便后面引用(1)、sql抽取:经常将要查询的列名,或者插入用的列名抽取出来方便引用(2)、include来引用已经抽取的sql:(3)、include还可以自定义一些property,sql标签内部就能使用自定义的属性 ...原创 2020-08-10 23:46:36 · 1406 阅读 · 0 评论 -
MyBatis_MyBatis之动态SQL之内置参数
1.引入 在映射文件中,我们可以通过传递参数给我们自己写的sql语句进行参数的传递,同时MyBatis自己也提供了俩个内置的参数。也就是说我们使用ONGL判断传递的参数,内置的参数也可以进行判断和取值操作。2.MyBatis俩个内置参数(1)._parameter:代表整个参数 单个参数:_parameter就是这个参数。 多个参数:参数会被封装为一个map;_parameter就是代表这个map。(2)._databaseId:如果配置了da...原创 2020-08-10 23:33:06 · 752 阅读 · 0 评论 -
MyBatis_MyBatis之动态SQL之常用OGNL表达式
1.引入 我们知道原创 2020-08-09 21:25:30 · 1315 阅读 · 0 评论 -
MyBatis_MyBatis之查询结果映射resultMap_discriminator(鉴别器)
1.引入 上面我们分别说了对单个对象、Colection的一个封装,那么下面,我们说一个对参数传递的一个分类discriminator。mybatis可以使用discriminator判断某列的值,然后根据某列的值改变封装行为。2.使用测试功能需求:封装Employee:如果查出的是女生:就把部门信息查询出来,否则不查询;如果是男生,把last_name这一列的值赋值给email;(1).映射文件信息配置<!-- <discriminator javaType=""&...原创 2020-08-02 21:51:28 · 486 阅读 · 0 评论 -
MyBatis_MyBatis之查询结果映射resultMap_Collection封装
1.引入 通过上一个内容,我们对resultMap有了一个基本的认识。同时我们封装的情况是属于一对一的一个情况。但是呢,有时候我们也会遇到一对多的情况。那么接下来我们一起来看一下如何处理一对多的情况。2.使用resultMap处理一对多的情况(1).定义相关的实体对象//部门实体对象:一个部门对应多个员工public class Department { private Integer id; private String departmentName; private ...原创 2020-08-02 21:35:22 · 824 阅读 · 0 评论 -
MyBatis_MyBatis之查询结果映射resultMap_单个实体或者单个嵌套实体封装
1.引入 我们之前把查询的结果按照对象、对象集合进行了一个加载。但是呢,这一个过程是怎么实现的呢?如果说我们的查询结果和我们的封装对象之间无法进行连接。那么这一个时候又怎么处理?那么下面我们就一起来看看MyBatis的一个强大的功能:resultMap,实现高级结果集映射。2.自定义结果映射规则...原创 2020-08-02 11:31:55 · 2132 阅读 · 0 评论 -
MyBatis_MyBatis之查询返回对象集合
1.引入 通过前面几节课程,我们了解了使用MyBatis实现基本的增删查改的操作,然后我们又说了一下载增删查改中的参数传递问题。我们之前的操作主要是针对一个对象进行的操作。那么当我们的返回值是一个集合的时候该如何进行处理呢?那么现在我们较为详细的了解一下查询操作。2.实现返回值是一个对象集合(List<Object>)的操作(1).在接口中定义编写查询的方法public List<Employee> getEmpsByLastNameLike(String ..原创 2020-08-01 11:08:59 · 8605 阅读 · 0 评论 -
MyBatis_MyBatis之参数传递
1.引入 我们通过上一节课实现了对一个实体对象的基本的增删查改操作,其中,我们在映射文件和测试的代码中添加了一下参数。那么接下来我们就一起来看看MyBatis中参数是如何传递的。2....原创 2020-07-29 22:49:06 · 386 阅读 · 0 评论 -
MyBatis_MyBatis映射文件之实现基本的CURD
1.引入原创 2020-07-29 00:10:47 · 178 阅读 · 0 评论 -
MyBatis_MyBatis之全局配置文件
1.引入 我们呢按照MyBatis官方给的示例,完成了我们的第一个MyBatis的HelloWorld。那么我们完成这一个动作是把那些配置文件等相关内容直接进行了复制粘贴,那么下面呢我们就一起来看一下这一些配置文件的详细内容。2.开发环境绑定dtd约束,为了方便消息提示(略)3.配置文件内容信息详解(可以参考官方文档)(1).propertis(引入外部配置文件) 功能:mybatis可以使用properties来引入外部properties配置文件的内容;...原创 2020-07-26 23:30:14 · 164 阅读 · 0 评论 -
MyBatis_MyBatis之HelloWorld代码改进
1.引入 上一节课,我们使用MyBatis实现了对数据的查找功能。但是呢这里面有一个问题。什么问题呢,就是我们的这一个代码:Admin Admin = openSession.selectOne("com.cn.entity.AdminMapper.getAdmById", 1);//参数给的是Object类型的参数,也就是说可以传递任何形式的参数,如何我们传入了一个和数据库字段中类型不一致的参数。那么它不会报错。但是没有查询的结果。为了解决这一个问题。MyBatis给我们提供了一个接..原创 2020-07-04 17:19:46 · 178 阅读 · 0 评论 -
MyBatis_MyBatis之HelloWorld
1.引入 上一次课,我们和大家说了一下MyBatis的优点以及MyBatis需要下载的内容。下面我们就和大家一起进入MyBatis的学习。2.HelloWord创建过程(1).创建一个数据库表adminDROP TABLE IF EXISTS `admin`;CREATE TABLE `admin` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `password`...原创 2020-06-28 23:29:40 · 210 阅读 · 0 评论 -
MyBatis_MyBatis简介
1.引入 我们在学完MySQL数据库的基础内容之后,我们就开始学习一下数据库持久化操作的相关内容,那么我们之前也学习过一些相关的内容,如:最基础的JDBC,之后的Dbutils,在之后的JdbcTemplate等这些内容。但是呢我们学习这一些操作在实际的项目开发中对于我们的需求还是不够好。那么下面呢我们就一起来学习一下数据库持久化操作框架MyBatis相关的一下内容。2.数据库持久化操作对比(1).Jdbc(Dbutils/JdbcTemplate)进行数据持久化的过程(2)....原创 2020-06-28 16:32:21 · 571 阅读 · 0 评论