![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
文章平均质量分 68
Splaying
Studying
展开
-
mybatis实现分页的三种方法
1. SQL分页select *from user limit 0, 5size的含义:需要展示的页面信息数目。index的含义:从哪个位置起,SQL中的下标是从0开始的,如果写的是0 , 5那么只有最前面的【0、1、2、3、4】五条信息。index的可选性:这个参数是一个可有可无的,如果不写index实际是index = 0,即limit 6 默认被转化为 limit 0 ,6。size的bug:如果想加载所有的数据可以将size 置为 -1(这种用法被认为是MySQL的bu原创 2021-05-06 11:22:52 · 8181 阅读 · 0 评论 -
mybatis二级缓存
1. 二级缓存的概念mybatis虽然提供了一级缓存具有一定的能力减少与数据库的交互,但是一级缓存的生命周期太短,权限太低,因此mybatis还提供了二级缓存。二级缓存:又叫全局缓存,不在是存在于一个SqlSession中,而是针对Mapper.xml文件生成的一个缓存(基于namespace级别的缓存)。生命周期较长!2. 二级缓存的基本使用二级缓存需要手动在配置文件中开启,< setting name=“ccacheEnabled” value=“true” />原创 2021-04-29 16:54:08 · 107 阅读 · 0 评论 -
mybatis一级缓存
1. 一级缓存概念什么是一级缓存:一级缓存也叫本地缓存,它是存在于一次SqlSession会话中。为什么需要缓存:缓存的提出简单来说就是为了降低与数据库的频繁交互,从而减轻服务器的压力。缓存的意义:在对数据库的一次SqlSession会话中,我们有可能会反复地执行完全相同的查询语句,为了防止短时间内频繁的访问数据库并且查询同一条语句,而查询一次的资源消耗很大。因此如果不采取一些必要的措施将会造成很大的资源浪费。为了减少资源浪费问题,mybatis在SqlSession对象中建立了一个原创 2021-04-29 10:23:24 · 197 阅读 · 0 评论 -
mybatis动态SQL语句
1. mybatis 与 JDBC对比传统JDBC动态SQL在学习mybatis动态SQL语句之前,先来回忆一下JDBC的SQL操作。看看传统的JDBC操作是多么的难受,手动控制一些参数条件。StringBuffer sql = new StringBuffer();ArrayList<Object> obj = new ArrayList<>();sql.append("select * from smbms_provider");boolean f = false;原创 2021-04-28 10:33:24 · 762 阅读 · 0 评论 -
mybatis一对多查询处理
建立对应的数据库create table `major` ( `id` int(10) not null comment '专业代码', `name` varchar(30) default null comment '专业名', primary key (`id`)) engine=innodb default charset=utf8insert into `major`(`id`,`name`) values (18001,'软件工程'),(18002,'通信工程');...原创 2021-04-27 18:48:59 · 230 阅读 · 0 评论 -
mybatis多对一查询处理
1. SQL储备知识在ER图的概念设计中有三种联系模型:1 : 1 模型:1 : n (n : 1)模型:m : n 模型:下面针对n : 1模型如何使用mybatis操作数据库,先建立如下数据库表create table `major` ( `id` int(10) not null comment '专业代码', `name` varchar(30) default null comment '专业名', primary key (`id`)) engine=原创 2021-04-27 14:17:00 · 184 阅读 · 0 评论 -
mybatis执行时因为有中文注释报错
mapper . xml配置文件时有中文注释导致运行出错。不光是映射器的配置文件,mybatis-config.xml配置文件同样不能写注释,一旦有注释就报错。解决方案<?xml version="1.0" encoding="UTF-8" ?>把编码集utf-8改为utf8…...原创 2021-04-26 17:37:43 · 403 阅读 · 1 评论 -
mybatis简单resultMap使用
mybatis是一个半自动的ORM(Object Relational Mapping)框架,需要手动配置一些SQL语句或者注解,相对来说Mybatis留给程序员操作的空间灵活度更高,通常需要手动配置一些东西完成OR映射。当数据库表中的字段 和 POJO实体类不匹配时,这是就需要程序员手动完成字段的映射。mybatis-config.xml配置文件<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration原创 2021-04-25 23:49:47 · 478 阅读 · 3 评论 -
mybatis注解使用 与 Param参数
1. mybatis注解使用mybatis集成了xml映射 和 注解的方式提供给程序猿操作数据库,对于写一个简单、没技术含量、查询来说xml显得有点鸡肋。而使用注解可以弥补这一短板。注解在mybatis-config.xml配置文件,注意xml 和 注解的mapper区别。xml映射mapper<mappers> <mapper resource="com/ljq/dao/UserMapper.xml"/></mappers>注解的方式mapper原创 2021-04-25 16:27:43 · 492 阅读 · 0 评论 -
mybatis通过#{}、${}取值区别
Statement执行SQL时是直接使用参数替换赋值的。PrepareStatement执行SQL时是进行预编译将每一个参数转为 ? 然后如果set方法设置参数值。使用#{}可以有效的防止 SQL 注入,提高系统安全可靠性。 ${} 和 #{}的区别其实就是 Statement 和 PrepareStatement的区别,无论mybatis框架最后给我们封装成什么样其实底层都是JDBC的原理。...原创 2021-04-25 14:11:52 · 84 阅读 · 0 评论 -
mybatis生命周期和作用域
程序运行时,mybatis的加载运行过程如上。SqlSessionFactoryBuilder从xml配置文件中加载配置参数,用于创建一个SqlSessionFactory工厂。之后程序与之打交道的只有SqlSessionFactory 和 SqlSession,因此这个工厂建造者不用给太长的生命周期、太大的作用域。它的生命周期只有在创建SqlSessionFactory工厂时需要,创建完工厂之后可以立即失效(局部变量)SqlSessionFactorySqlSessionFac.原创 2021-04-23 17:02:25 · 150 阅读 · 0 评论 -
mybatis基础配置文件解析
mybatis初始化文件配置中有大量的配置项,粗略数了一下大概有10大项吧,每一项又可以配置不少东西。1. properties属性配置可以通过resource 或者 url地址引入将一些JDBC连接参数属性在外部的配置文件中写入,然后通过该标签来引入这些参数。<properties resource="db.properties"> <property name="username" value="root"/> <property name="pass原创 2021-04-19 23:05:36 · 82 阅读 · 0 评论 -
mybatis传入map参数
初学mybatis产生两个问题:mybatis传入参数执行SQL语句好像并不是很智能?xml文件中指定parameterType只能是一种数据类型。假设我现在需要执行一条SQL语句,里面有两个参数:一个int类型,一个String类型又该怎么办?如果执行SQL语句的数据表中有成千上百个字段,但是真正执行sql语句只需要针对其中两个字段进行更改操作,那么实例化一个pojo的类似乎显得有点小题大做。其实这两个问题是同一个,就是mybatis能不能像JDBC那样自由指定参数进行执行SQL语句呢?原创 2021-04-19 09:26:48 · 4530 阅读 · 2 评论 -
mybatis增删改查(CRUD)
1. 建立一个数据表use mybatis;create table if not exists `user`( `id` int(10) not null auto_increment comment '编号', `name` varchar(30) default null comment '姓名', `pwd` varchar(30) default null comment '密码', primary key(`id`))engine=innodb defau.原创 2021-04-18 19:14:10 · 96 阅读 · 0 评论 -
Mybatis入门
1. 什么是mybatis?mybatis简介MyBatis 是一款优秀的持久层框架它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目原创 2021-04-18 16:43:15 · 99 阅读 · 0 评论