Mybatis
文章平均质量分 81
白鹿依山近
小文青
展开
-
10.Mybatis源码剖析
第⼗部分:Mybatis源码剖析 10.1传统⽅式源码剖析: 源码剖析-初始化 //读取配置文件,读成字节输入流的,注意:现在还没解析InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");//这才是一切工作的开始//2.解析配置文件,封装成Configuration对象,创建DefaultSqlSessionFactory对象SqlSessionFactory sql.原创 2021-04-16 00:53:58 · 223 阅读 · 3 评论 -
9.Mybatis架构原理
9.1架构设计我们把Mybatis的功能架构分为三层: (1) API接⼝层:提供给外部使⽤的接⼝ API,开发⼈员通过这些本地API来操纵数据库。接⼝层⼀接收 到 调⽤请求就会调⽤数据处理层来完成具体的数据处理。 MyBatis和数据库的交互有两种⽅式: a. 使⽤传统的MyBati s提供的API ; b. 使⽤Mapper代理的⽅式 (2) 数据处理层:负责具体的SQL查找、SQL解析、SQL执⾏和执⾏结果映射处理等。它主要的⽬的是根 据调⽤的请求完成⼀次数据库操作原创 2021-04-12 22:17:37 · 96 阅读 · 0 评论 -
8.mybatis插件
第⼋部分:Mybatis插件 8.1 插件简介⼀般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者⾃⾏拓展。这样的好处是显⽽易⻅ 的,⼀是增加了框架的灵活性。⼆是开发者可以结合实际需求,对框架进⾏拓展,使其能够更好的⼯ 作。以MyBatis为例,我们可基于MyBati s插件机制实现分⻚、分表,监控等功能。由于插件和业务 ⽆ 关,业务也⽆法感知插件的存在。因此可以⽆感植⼊插件,在⽆形中增强功能8.2 Mybatis插件介绍Mybati s作为⼀个应⽤⼴泛的优秀的OR.原创 2021-04-12 09:44:18 · 112 阅读 · 0 评论 -
7.Mybatis缓存
第七部分:Mybatis缓存 缓存就是内存中的数据,常常来自于对数据库查询结果的保存,使用缓存,我们可以避免频繁地与数据库进行交互,进而提高响应速度。mybatis也提供对缓存的支持,分为一级缓存和二级缓存,可以通过以下的图进行解释1.一级缓存是SqlSession级别的缓存,在操作时需要构造SqlSession对象,对象中有一个数据结构HashMap用户存储数据,不同SqlSession的存储区域HashMap互不影响。2.二级缓存是mapper级别的缓存,多个SqlSessi原创 2021-04-11 20:19:30 · 197 阅读 · 0 评论 -
6.Mybatis注解开发
6.1 MyBatis的常⽤注解 这⼏年来注解开发越来越流⾏,Mybatis也可以使⽤注解开发⽅式,这样我们就可以减少编写Mapper 映射⽂件了。我们先围绕⼀些基本的CRUD来学习,再学习复杂映射多表操作。 @Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以与@Result ⼀起使⽤,封装多个结果集 @One:实现⼀对⼀结果集封装 @Many:实现⼀对多.原创 2021-04-10 07:13:29 · 84 阅读 · 0 评论 -
5.Mybatis复杂映射开发
5.1 ⼀对⼀查询 5.1.1 ⼀对⼀查询的模型 ⽤户表和订单表的关系为,⼀个⽤户有多个订单,⼀个订单只从属于⼀个⽤户 ⼀对⼀查询的需求:查询⼀个订单,与此同时查询出该订单所属的⽤户创建相应数据库,执行以下语句DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) DEFAULT NULL,...原创 2021-04-08 22:46:41 · 143 阅读 · 0 评论 -
4.Mybatis配置⽂件深⼊
4.1 核⼼配置⽂件SqlMapConfig.xml 4.1.1 MyBatis核⼼配置⽂件层级关系4.2 MyBatis常⽤配置解析 1)environments标签 数据库环境的配置,⽀持多环境配置其中,事务管理器(transactionManager)类型有两种: •JDBC:这个配置就是直接使⽤了JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作 ⽤域。 •MANAGED:这个配置⼏乎没做什么。它从来不提交或回滚⼀个连接,...原创 2021-04-06 23:23:18 · 117 阅读 · 1 评论 -
3.Mybatis基本应用
3.1 快速⼊⻔ MyBatis官⽹地址:http://www.mybatis.org/mybatis-3/3.1.1 开发步骤: ①添加MyBatis的坐标 ②创建user数据表 ③编写User实体类 ④编写映射⽂件UserMapper.xml ⑤编写核⼼⽂件SqlMapConfig.xml ⑥编写测试类3.1.1 环境搭建:1)导⼊MyBatis的坐标和其他相关坐标<properties> <project.build.sourc原创 2021-04-06 20:26:41 · 172 阅读 · 0 评论 -
### Error opening session. Cause: java.lang.NullPointerException
搭建mybatis开发环境时,报了一个### Error opening session. Cause: java.lang.NullPointerException错解决方法就是检查sqlMapConfig里面下面两个参数是否一致原创 2021-04-05 22:39:46 · 1226 阅读 · 0 评论 -
2.Mybatis基础概念
Mybatis相关概念2.1 对象/关系数据库映射(ORM) ORM全称Object/Relation Mapping:表示对象-关系映射的缩写 ORM完成⾯向对象的编程语⾔到关系数据库的映射。当ORM框架完成映射后,程序员既可以利⽤⾯向 对象程序设计语⾔的简单易⽤性,⼜可以利⽤关系数据库的技术优势。ORM把关系数据库包装成⾯向对 象的模型。ORM框架是⾯向对象设计语⾔与关系数据库发展不同步时的中间解决⽅案。采⽤ORM框架 后,应⽤程序不再直接访问底层数据库,⽽是以⾯向对象的⽅式来操原创 2021-04-05 21:25:06 · 218 阅读 · 0 评论 -
Mybatis学习------1.自定义持久层框架
1.1分析jdbc操作持久层:Java-EE三层体系结构中与数据库交互的一层,往往称为dao层早期与数据库交互会直接使用jdbc,但是jdbc存在一些问题,于是就出现了持久层框架,这些持久层框架是对jdbc的封装,规避了jdbc存在的问题。...原创 2021-04-04 22:50:07 · 173 阅读 · 2 评论 -
SSM人员信息增删改查,上传图片
1.开发环境准备tomcat9,maven3.5,ecplise,jdk82.在ecplise中创建一个maven项目,选择war,然后在pom.xml中引入依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https:原创 2021-03-31 22:47:34 · 376 阅读 · 0 评论 -
基于ssm的考勤设备和考勤记录管理系统------(三)
1.接着上一篇,写设备管理的部分主要界面如下图2.这里面有增删改查的基本功能,还有分页的查询,关键词查询,还有定时刷新的功能实体类如下package com.timmy.entity;public class Device { private Integer id; private String serialNum; private Stri...原创 2019-10-30 11:10:03 · 1009 阅读 · 0 评论 -
基于ssm的考勤设备和考勤记录管理系统------(二)
(1)大体界面如下,主要包括了关键词搜索,分页查询功能,设备的增删改查前端界面主要是用bootstrap框架开发的。表格的自动刷新和模态框(2)这个过程中建数据库,/*SQLyog Ultimate v12.5.0 (64 bit)MySQL - 5.7.20-log : Database - fingerdb************************...原创 2019-10-26 11:21:20 · 2317 阅读 · 0 评论 -
基于ssm的考勤设备和打卡系统----------(一)
1.创建一个maven的web项目。2.准备各种配置引入依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 h...原创 2019-10-26 10:22:06 · 1267 阅读 · 0 评论 -
Mybatis入门程序(三)-----------------------添加,更新和删除用户
1.添加用户1.1映射文件在User.xml文件中配置添加用户的Statement 1.2程序代码 1.3自增主键返回Mysql自增主键,在执行insert提交之前自动生成一个自增主键通过mysql函数获取到刚插入记录的自增主键:LAST_INSERT_ID() 是insert之后,需要修改insertUser定义1.4非自增主键返回(使用uui...原创 2018-10-06 13:35:59 · 3679 阅读 · 0 评论 -
Mybatis入门程序(二)-----------根据用户名称模糊查询用户信息
1.映射文件 使用User.xml添加根据用户名称模糊查询用户信息的sql语句2.代码实现3.总结 parameter在映射文件中通过parameterType指定输入参数的类型 resultType在映射文件中通过resultType指定输出结果类型。 #{}和${}#{}表示一个占位符${}表示一个拼接符号,存在安全隐患,不建议...原创 2018-10-06 13:23:49 · 896 阅读 · 0 评论 -
Mybatis入门(一)---------查询功能实现
概念1.Mybatis开发dao两种方法1.1原始dao开发(程序需要编写dao接口和dao实现类)1.2Mybatis的mapper接口(相当dao接口)代理开发方法2.Mybatis配置文件SqlMapConfig.xml3.Mybatis核心; Mybatis输入映射 Mybatis输出映射 Mybatis的动态sql映射4.需求分析4.1...原创 2018-10-05 21:53:41 · 203 阅读 · 0 评论