![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Mybatis
文章平均质量分 85
Mybatis学习笔记
guardwhy
这个作者很懒,什么都没留下…
展开
-
Mybatis-多表查询(注解)
1.1 项目目录使用注解实现复杂映射开发1.2 一对一查询一对一查询语句-- 先查询订单Select * from orders;-- 再根据订单oid外键,查询用户select * from user where id = #{根据订单查询的oid}1.2.1 代码示例sqlMapConfig.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC原创 2021-03-17 02:14:54 · 399 阅读 · 0 评论 -
Mybatis-注解开发
11.1 项目目录 11.2 UserMapper接口11.2.1 查询用户(@Select)注解属性说明@Selectvalue:查询SQL语句查询的注解@Resultsvalue:是一个Result数组定义映射关系@Resultcolumn定义表中列property定义实体类中属性idtrue 这是主键列,默认是false增加通过id查询用户的方法方法上使用注解@Select(“SQL语句”)在SQL语句使用#{id原创 2021-02-01 20:11:49 · 121 阅读 · 0 评论 -
Mybatis-缓存机制
12.1 一级缓存12.1.1 缓存概述用mybatis从数据库中查询数据,如果有多个用户使用同一个SQL语句来查询记录,得到相同的查询结果。如果表中记录很多,查询速度比较慢。使用缓存的目的就是为了提升查询的速度。缓存是内存中一个区域,保存已经查询过的记录。12.1.2 缓存分类一级缓存:使用范围是在同一个会话二级缓存:可以在不同的会话中使用12.1.3 缓存结构 **一级缓存的范围:**在同一个会话中使用需求实现: 通过同一个 sqlSession 对象,通过id查询2次,观察发原创 2021-02-01 20:14:49 · 188 阅读 · 0 评论 -
Mybatis-延迟加载
10- 延迟加载延迟加载又称为懒加载,按需加载。每次只查询1张表,当需要另一张关联表中的数据的时候,再发送一条SQL语句去查询另一张表中数据。一对一关联查询使用标签:association一对多关联查询使用标签:collection10.1 项目环境10.1.1 项目目录 10.1.2 SQL数据库语句-- 1. 查询1号用户的信息select * from user where id=1;-- 2. 查询1号用户的扩展信息select * from user_info where原创 2021-02-01 19:58:03 · 109 阅读 · 0 评论 -
Mybatis-动态SQL
8.1 项目环境8.1.1 项目目录 8.1.2 会话工厂的工具类在静态代码块中创建会话工厂编写静态方法得到会话编写静态方法得到会话工厂package cn.guardwhy.utils;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apa原创 2021-02-01 19:50:37 · 111 阅读 · 0 评论 -
Mybatis-嵌套查询
1.1 项目目录1.2 什么是嵌套查询嵌套查询就是将原来多表查询中的联合查询语句拆成单个表的查询,再使用mybatis的语法嵌套在一起。案例实现-- 需求:查询一个订单,与此同时查询出该订单所属的用户# 1. 联合查询select * from orders o left join user u on o.oid =u.id#2. 嵌套查询 #2.1先查询订单 Select * from orders #2.2 再根据订单uid外键,查询用户 select * from use原创 2021-03-15 19:35:05 · 5714 阅读 · 0 评论 -
Mybatis-多表查询(xml)
9.1 项目环境9.1.1 项目目录 9.2 关联关系分类三种:1对1,1对多,多对多9.2.1 一对一关联关系人和身份证的关系。一个人只能有一张身份证,一张身份证只能属于一个人。双向【一对一】关联关系。9.2.2 一对多关联关系举一个例子:用户和订单的关系。一个用户可以有多个订单,从用户到订单是【一对多】关联关系。一个订单只能属于一个人,从订单到人是【一对一】的关联关系。9.2.3 多对多关联关系举一个例子:业务系统中,用户和角色的关系。一个用户可以有多种角色:小明有可能是:原创 2021-02-01 19:55:15 · 606 阅读 · 0 评论 -
Mybatis-分页操作
1.1 项目环境1.2 limit实现分页为什么需要分页?在使用mybatis等持久层框架的时候,会经常对数据进行增删改查操作,使用最多的是对数据库进行查询操作,如果查询大量数据的时候,可以通过使用分页进行查询,也就是每次处理小部分数据,这样数据库压力就在可控范围内。使用Limit实现分页#级别语法SELECT * FROM table LIMIT stratIndex,pageSize# 检索记录行 6-15 SELECT * FROM table LIMIT 5,10; #如原创 2021-03-11 23:09:02 · 145 阅读 · 0 评论 -
Mybatis_多条件查询
7.1 参数输入类型7.1.1 简单类型Java简单类型(9种:8种基本+String)7.1.2 POJO类型POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBean,即我们前面封装数据使用的实体类。7.1.3 POJO包装类型包装类型:就是在实体类中包含了其它的实体类。package cn.guardwhy.domain;/** * 包装类 */public class QueryVo { private Us原创 2021-02-01 19:02:53 · 1461 阅读 · 0 评论 -
Mybatis-CRUD
6.1 项目环境6.1.1 SQL数据-- 创建数据库create database mybatis-- 创建user表create table user ( id int primary key auto_increment, username varchar(20) not null, birthday date, sex char(1) default '男', address varchar(50));insert into user values (null,原创 2021-02-01 18:49:06 · 105 阅读 · 0 评论 -
Mybatis-Mapper封装数据类
7- Mapper封装数据类 8- 环境搭建8.1 项目目录sqlMapConfig.xml核心配置文件,去掉DTD约束。因为dom4j会上网去找dtd文件.UserMapper.xml映射配置文件,去掉DTD约束。UserMapper接口User实体类 8.2 导入相关jar包 8.3 UserMapper.xml8.4 生成步骤创建包cn.guardwhy.framework创建实体类:Mapper包含4个属性:namespace,id,resultType,sql原创 2020-11-22 13:41:28 · 1050 阅读 · 0 评论 -
Mybatis-入门案例
1-框架概念程序开发中的框架往往是对常见功能的封装,程序框架理解为基础或者机械标准件(例如螺丝螺母标准的机械部件)。假如你要造一辆马车,在没有框架的情况下,你需要自己去伐木,去把木头做成木板,木棍,然后组成轮子,门,等部件,然后组装起来。但如果你用了框架,就相当于你有现成的轮子,门等部件,你只需要组装一下就可以了。一个框架是一组可复用的设计构件。框架(Framework)是整个或者部分系统的可重用设计,是JavaEE底层技术的封装。框架是可以被开发者定制的应用骨架。框架是一个半成品,软件是成品2-项原创 2020-11-22 13:37:48 · 258 阅读 · 0 评论