首页 > TAG信息列表 > SqlSession
MyBatis(二十):动态SQL之if语句
一、什么是动态SQL之if语句 if很简单了,就是满足条件就执行,不满足条件不执行。 那么动态SQL中的if语句是怎么样的呢? 首先我们来看一张表blog: 如果我们执行下面的SQL语句: select * from blog 肯定会将所有的数据都查出来。那么我们可以在后面加上where条件进行筛选,那么如mybatis 分页
语法:select * from user limit startIndex,pageSize select * from user limit 0,2 mybatis分页查询 添加接口 // 分页查询 List<User> getUserListLimit(Map<String,Object> value); 映射绑定 <select id="getUserListLimit" parameterType="map&quMybatis入门2--把获取SqlSession的方法封装成工具类
工具类里面一般是静态方法,通过把读取mybatis主配置文件获取SqlSession的一些列繁琐步骤封装成工具类,减少代码量。 Mybatis工具类 src/main/java/com/oxygen/utils/MybatisUtil.java package com.oxygen.utils; import org.apache.ibatis.io.Resources; import org.apache.ibatis创建sqlSession对象操作数据库
1.加载核心配置文件 //加载mybatis核心配置文件,获取SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBumybaits-01-环境搭建
创建mysql数据库ssm CREATE TABLE `t_user` ( `id` int(32) DEFAULT NULL, `username` varchar(32) DEFAULT NULL, `password` varchar(32) DEFAULT NULL, `age` int(32) DEFAULT NULL, `sex` varchar(2) DEFAULT NULL, `mail` varchar(32) DEFAULT NULL) ENGINE=IMybatis学习笔记(二)——Mybatis核心对象
1.Mybatis核心对象 MyBatis 有三个基本要素: 核心接口和类 MyBatis核心配置文件(mybatis-config.xml) SQL映射文件(mapper.xml) 1.1 核心接口和类 每个 MyBatis 应用程序都以一个 SqlSessionFactory 对象的实例为核心。首先获取 SqlSessionFactoryBuilder 对象,可以根据 XML 配置文件MyBatis
环境准备 导入POM依赖 <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <dependencies> <!--mybatis 依赖-->MyBatis常用注解及基本增删改查的注解实现
MyBatis 的常用注解 注解可以减少 Mapper 文件的编写,常用注解如下; @Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以和@Result 一起使用,封装多个结果集 @One:实现一对一结果集封装 @Many:实现多对多结果集封装 MyBatis 的增删Mybatis基本流程及配置文件解析
Mybatis基本流程 1、利用Resources工具类加载配置文件,并转换成输入输出流 2、利用解析的配置,创建SqlSessionFactory工厂 3、生产SqlSession 4、SqlSession调用方法 Mybatis配置文件分析 sqlMapConfig.xml MyBatis核心配置文件层级 MyBatis常用配置解析 输出日志,在sqlMapConfig.xmMyBatis的基本使用
快速入门 Mybatis的官网:https://mybatis.org/mybatis-3/ MyBatis的开发步骤 添加MyBatis的坐标 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <MyBatis-特殊SQL的执行
1. 通过用户名模糊查询用户信息 SpecialSQLMapper.java public interface SpecialSQLMapper { List<User> getUserByLike(@Param("mohu") String mohu); } SpecialSQLMapper.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapMybatis的缓存
1. Mybatis的一级缓存 Mybatis的一级缓存是默认开启的,你只要搭建一个Mybatis框架,就可以直接使用一级缓存。 一级缓存是SqlSession级别的,通过SqlSession查询的数据会被缓存,下次使用同一个SqlSession查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问,减轻数据库压力。 条件:mybatis获取参数值
封装SqlSessionUtils /** * 获取SqlSession * @param b 是否自动管理事务 * @return 返回sqlsession */ public static SqlSession getSqlSession(boolean b){ SqlSession sqlSession = null; try {mybatis缓存
MyBatis缓存 只对查询功能有效 一级缓存 一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问 一级缓存失效的四种情况 1、不同的SqlSeesion对应不同的一级缓存 2、同一个SqlSession但是查询条件不同 3Mybatis笔记
mybatis 难点: 一对多多对一 动态SQL 1.1 什么是Mybatis 如何获得Mybatis maven仓库: <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</Mybatis完整版详解
一、简介 1.什么是MyBatis MyBatis 是一款优秀的持久层框架 它支持自定义 SQL、存储过程以及高级映射。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java OMyBatis(一、快速入门)
1、MyBatis的简介 1)什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java ObjeMyBatis学习笔记
一、MyBatis 1、MyBatis简介 1.1、MyBatis历史 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。 iBatis一词来源于java_forEach()/for...in实际场景体会
package com.atguigu.mybatis.test; import com.atguigu.mybatis.mapper.UserMapper; import com.atguigu.mybatis.pojo.User; import com.atguigu.mybatis.utils.SqlSessionUtil; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; impMybatis基础知识大全!!!
目录1. 简介1.1什么是Mybatis1.2 如何获得Mybatis1.3 使用Mybatis的好处:2.初涉Mybatis2.1环境搭建2.2、创建一个模块(项目)2.3、使用Mybatis的三个重要类3.Mybatis的CRUD简单实现3.1、通过id查找用户:3.2、插入用户:3.3、根据id更改用户名字:3.4、 根据id删除用户:3.5、好用的Map3.6、模[mybatis]mybatis动态sql的标签使用详解
动态sql 根据不同的环境生成不同的sql if choose (when, otherwise) trim (where, set) foreach if 使用动态 SQL 最常见情景是根据条件包含 where 子句的一部分。 如果传入name就根据name查询,如果输入age就根据age查询,如果不输入就全部查询。 这里还使用了一对标签主[mybatis]mybatis中缓存的使用
缓存 因为频繁的查询会很消耗资源,所以将经常查询且不经常修改的结果暂时放在内存中,需要的时候直接取一下。 一级缓存:默认开启 SQLSession级别,SQLSession关闭则失效 二级缓存:手动开启,作用于一个命名空间 测试一级缓存 创建两次相同的查询,返回两个数,可以在下面的截图中看到,只创MyBatis学习笔记三:MyBatis缓存机制
缓存介绍 1. MyBatis的缓存级别 缓存概念上对比 一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问 二级缓存是SqlSessionFactory级别,通过同一个SqlSessionFactory创建的SqlSession查询的结果会被Mybatis
SqlSession SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory().openSession(ExecutorType.BATCH, false);//第二个参数为是否自动提交,为true则执行一次sql就提交,若为false则表示开启事务 TbTestMapper tbTestMapper = sqlSession.getMapper(TbTestMapper.class)Map和模糊查询拓展
Map和模糊查询拓展 概述 本文主要讲利用map类型进行参数传入和使用模糊查询获取结果 利用map类型进行参数传入不太规范,但是在表中字段众多且无需传入所有字段的情况下比较好用(狂神说的,我在实际项目中没有用到) 实践 跟上一篇一样,基础环境搭建代码我就不写了,仅写核心的java和xml文件