MyBatis
MyBatis是一个基于Java的持久层框架,提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
最初是apache的一个开源项目iBatis, 2010年这个项目迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
water1127
欢迎访问我的个人博客:https://water1127.github.io/
展开
-
MyBatis 面试复习指南 (标签、增删改查、底层、事务、数据匹配、多表、延迟...)
一、快速入门SqlMapConfig.xmlMyBatis主配置文件 用于 连接数据库 和 指定映射配置文件。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://my...原创 2020-03-03 16:38:15 · 343 阅读 · 0 评论 -
SSM框架整合(6)—— Spring整合MyBatis
Spring 整合 MyBatis结构目录javacontrollerAccountController.java(表现层)daoAccountDao.java(持久层)domainAccount.java(JavaBean对象)serviceAccountService.java(业务层)AccountServiceImp.java(业务层)...原创 2020-02-08 07:35:16 · 365 阅读 · 0 评论 -
SSM框架整合(5)—— MyBatis框架环境搭建
MyBatis框架数据库表CREATE DATABASE ssm;USE ssm;CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(100), money DOUBLE(4,2));INSERT INTO account VALUES (NULL,'cat',9.16),(NULL,'...原创 2020-02-08 07:34:42 · 232 阅读 · 0 评论 -
MyBatis框架(14) —— 缓存机制(基于注解)
目录结构srcmainjavacn.water.daoUserDao.java(持久层接口)cn.water.domainUser.java(实体类)resourcesSqlMapConfig.xml(MyBatis主配置文件)jdbcConfig.properties(数据库连接信息文件)testjava.cn.waterMybati...原创 2020-02-07 09:49:27 · 240 阅读 · 0 评论 -
Mybatis框架(13) —— 实现多表查询的延迟加载操作(基于注解)
简介MyBatis中多表之间的关系本次案例主要以最为简单的用户(User)、账户(Account)、角色(Role)的模型来分析Mybatis多表关系。用户为User 表,账户为Account表。一对多关系一个用户(User)可以开设多个账户(Account)**从查询 用户信息(User) 出发,关联查询 账户信息(Account)**属于一对多查询一对一关系(多...原创 2020-02-07 09:48:22 · 239 阅读 · 0 评论 -
Mybatis框架(12) —— 实现数据库的CRUD操作(基于注解)
简介如何使用映射配置文件的方式完成 CRUD 操作在前面已经详细的介绍过了,本文将通过使用注解的方式完成 CRUD 操作,并演示 Java实体类变量名 和 数据库字段名 相同和不相同的两种不同的处理方法。目录结构src/mainjavacn/water/daoUserDao.java(持久层接口)User_UserDao.java(持久层接口)cn/water/do...原创 2020-02-07 09:47:54 · 479 阅读 · 0 评论 -
MyBatis框架(11) —— 缓存机制
简介什么是缓存?缓存是存在于内存中的临时数据。为什么使用缓存?缓存能够减少和数据库的交互次数,提高执行效率。什么样的数据适用于缓存,什么样的数据不适用于缓存?适用于缓存:经常查询,并且不经常改变的数据。数据的正确与否对最终结果的影响不大。不适用于缓存:经常改变的数据。数据的正确与否对最终结果的影响非常大。像大多数的持久化框架一样,Mybati...原创 2020-02-06 09:22:35 · 290 阅读 · 0 评论 -
MyBatis框架(10) —— 实现多表查询的延迟加载操作
简介通过前面的学习,我们已经掌握了Mybatis中一对一,一对多,多对多关系的配置及实现,可以实现对象的关联查询。实际开发过程中很多时候我们并不需要总是在加载用户信息时就一定要加载他的账户信息。此时就是我们所说的延迟加载。延迟加载延迟加载(懒加载)就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。优点先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因...原创 2020-02-06 09:22:00 · 392 阅读 · 0 评论 -
Mybatis框架(9) —— 实现多表查询操作
简介多表之间的关系一对多用户 ——> 订单、订单、订单、订单多对一(一对一)订单、订单、订单、订单 ——> 用户单个订单 ——> 用户一对一中国公民——>身份证多对多语文老师、数学老师、英语老师——>小明、小红、小黑、小绿MyBatis中多表之间的关系本次案例主要以最为简单的用户(User)、账户(Account)...原创 2020-02-06 09:20:54 · 409 阅读 · 0 评论 -
Mybatis框架(8) —— Java与数据库的数据匹配方式
方式一:修改 JavaBean变量在 JavaBean中,将 变量名 设置为 数据库的字段名MySQL数据库字段idusernamebirthdaysexaddressJava实体类变量名idusernamebirthdaysexaddress映射配置文件<select id="findAll" resultType="cn.wate...原创 2020-02-06 09:20:33 · 739 阅读 · 0 评论 -
Mybatis框架(7) —— 连接池与事务机制
连接池连接池是用于存储连接的容器。容器必须是一个线程安全的集合对象,并且具有队列的特性:先进先出。MyBatis连接池我们在前面的WEB课程中也学习过类似的连接池技术,而在Mybatis中也有连接池技术,但是它采用的是自己的连接池技术。在Mybatis中我们将它的数据源dataSource分为以下几类:UNPOOLED:采用传统的获取连接的方式。POOLED:采用传统...原创 2020-02-06 09:19:56 · 450 阅读 · 0 评论 -
Mybatis框架(6) —— MyBatis主配置文件中的常用标签
简介介绍 MyBatis主配置文件 中常用的三个标签properties标签:用于数据库连接的内外部配置。typeAliases标签:用于对全类名设置别名。package标签:用于指定类。properties标签在之前MyBatis主配置文件的环境搭建中,我们将连接数据库的4个基本信息编写在MyBatis主配置文件中,这种方式属于内部配置。我们也可以选择外部配置的方式,只...原创 2020-02-06 09:15:58 · 944 阅读 · 0 评论 -
Mybatis框架(5) —— CRUD操作的源码分析
简介代理持久层实现类(ProxyDao)通过动态代理增强代码,自动获取 SqlSession类,并调用 selectOne方法、selectList方法、insert方法、update方法、delete方法。手动编写持久层实现类(MyDao)手动获取 SqlSession类,并用 selectList方法、selectOne方法、insert方法、update方法、delet...原创 2020-02-06 09:15:18 · 291 阅读 · 0 评论 -
Mybatis框架(4) —— 手动编写持久层实现类实现CRUD操作
简介MyBatis环境搭建 的方式在前面已经详细的介绍过了,本文仍然通过映射配置文件,但不再使用代理持久层接口实现类的方式,而是使用手动编写持久层实现类的方式来进行MySQL数据库的CRUD操作。创建持久层接口实现类的方式在实际开发中并不常用,所以我会将本文的主题放在与使用代理持久层实现类方法的比较上。改变的内容主要是测试类和持久层接口实现类。目录结构src/mainjava...原创 2020-02-06 09:14:37 · 592 阅读 · 0 评论 -
Mybatis框架(3) —— 使用代理持久层实现类实现CRUD操作
简介MyBatis环境搭建 的方式在前面已经详细的介绍过了,本文将通过映射配置文件,使用代理持久层实现类的方式,来进行MySQL数据库的CRUD操作。环境搭建成功后,MySQL数据库的CRUD操作基于以下几个文件的基础上进行修改:UserDao.java(持久层接口)添加CRUD操作的抽象方法。UserDao.xml(持久层接口的映射配置文件)添加持久层接口的全类名:nam...原创 2020-02-06 09:12:49 · 423 阅读 · 0 评论 -
MyBatis框架(2) —— 自定义MyBatis相关的类和接口
简介我们知道创建Maven项目后,在项目中的pom.xml配置文件中引入MyBatis依赖之后,我们就可以使用MyBatis相关的类和接口和相应的功能。但为了对MyBatis的体系结构和功能有更加深刻的理解和全面的认识,本文Maven项目中的pom.xml配置文件将不再引入MyBatis依赖,转而通过自定义编写MyBatis相关的类和接口来实现同样的功能。MyBatis相关类和接口的介绍流...原创 2020-02-06 09:11:22 · 363 阅读 · 0 评论 -
MyBatis框架(1) —— 入门案例
内容简介本文是对MyBatis的基础操作方式进行的演示,包括MyBatis环境搭建,以及一些细节知识点。我们会发现其实各种操作方式的步骤大同小异,因为究其根源它们实现的都是相同的功能。为了让大家能更好的理解,我们来试着分析一下MyBatis究竟帮我们实现了什么样的功能。连接MySQL数据库的功能连接持久层接口的功能通过映射配置文件的方式通过注解的方式实现持久层接口的功能...原创 2020-02-06 09:10:29 · 279 阅读 · 0 评论