
mybatis
文章平均质量分 65
mybatis
959y
奋斗ing
展开
-
Mybatis 原理之启动阶段
Mybatis 源码之启动阶段解析原创 2023-01-13 19:43:05 · 1152 阅读 · 0 评论 -
MyBatis批量插入的五种方式
MyBatis批量插入的五种方式原创 2023-01-11 20:36:42 · 1440 阅读 · 1 评论 -
MyBatis 二级缓存 关联刷新实现
1.MyBatis缓存介绍Mybatis提供对缓存的支持,但是在没有配置的默认情况下,它只开启一级缓存,二级缓存需要手动开启。一级缓存只是相对于同一个SqlSession而言。 也就是针对于同一事务,多次执行同一Mapper的相同查询方法,第一查询后,MyBatis会将查询结果放入缓存,在中间不涉及相应Mapper的数据更新(Insert,Update和Delete)操作的情况下,后续的查询将会从缓存中获取,而不会查询数据库。二级缓存是针对于应用级别的缓存,也就是针对不同的SqlSession做到缓存原创 2022-02-04 22:30:42 · 507 阅读 · 0 评论 -
MyBatis的插件机制及其用法
文章目录1.前言1.1 Mybatis四大对象1.2 Mybatis插件1.3 拦截阶段2.源码分析2.1 过程2.2 小结3.使用方法3.1 注册插件4.总结1.前言1.1 Mybatis四大对象org.apache.ibatis.executor.parameter.ParameterHandler:处理SQL的参数对象org.apache.ibatis.executor.resultset.ResultSetHandler:处理SQL的返回结果集org.apache.ibatis.execu原创 2022-02-03 19:29:49 · 1789 阅读 · 0 评论 -
Mybatis占位符 #与占位符$区别
#{}速度快,能防止sql注入,是占位符方式,先预编译,然后填充参数,字符串格式,用户名=(___),参数只是下划线上的内容${}是直接拼接到语句上,这种方式需要自己拼括号和参数,但是也可以拼接想执行的任何语句,也就是传说中的sql注入详情如下在MyBatis中使用参数进行SQL拼装经常会使用到#{var}和${var}两种参数的设置方式。下面是两种方式的不用之处:#{var}使用预编译的方式将参数设置到SQL语句中(相当于占位符?)。使用原生JDBC中的prepareStatrment。在原创 2022-01-24 18:45:08 · 378 阅读 · 0 评论 -
Mybatis_动态sql_2
动态SQl文章目录动态SQl1.where2.trim1.whereDynamicSqlMapper.xml <select id="getEmp1" resultType="emp"> select * from t_emp <where>-- 有内容则添加where,无则没有where,可以去掉多余的and,不可以去掉最后面的and,只可以去掉前方的and。-- trim可以去掉末尾的and,w原创 2021-05-28 10:35:49 · 154 阅读 · 0 评论 -
Mybatis_如何查询多对一/一对多
注意:需要在pom中加入 <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include>.原创 2021-05-27 23:11:36 · 280 阅读 · 1 评论 -
Mybatis_实体类属性名和数据库字段名不同时的解决方案
数据库字段名:对应的实体类:文章目录方案一:方案二:方案三:方案四:方案五:方案一:在XML映射文件中使用的resultMap,优点:可以被重复使用。<resultMap id="BaseResultMap" type="com.dao.entity.UserInfoEntity"> <!-- 用id属性来映射主键字段 --> <id column="_id" jdbcType="VARCHAR" property="id" /> &原创 2021-05-27 16:47:21 · 284 阅读 · 1 评论 -
PageHelper的使用方法
文章目录1.导入jar包2.添加插件信息到xml文件中3.调用方法4.page的方法5.pageInfo包装查到的信息1.导入jar包 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.0.0<原创 2021-05-25 16:16:03 · 1072 阅读 · 0 评论 -
MyBatis原理分析
文章目录1.MyBatis工作流程简述1.1传统工作:1.2使用Mapper接口:2.原生Mybatis分析2.1初始化工作2.2.1解析配置文件2.2执行Sql2.2.1SqlSession API方式1.MyBatis工作流程简述1.1传统工作:public static void main(String[] args) { InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlS原创 2021-05-25 15:12:38 · 236 阅读 · 0 评论 -
Mybatis_Plus_环境搭建
文章目录1.Mybatis_Plus介绍2.集成Mybatis_Plus1.创建数据库2.创建响应的javabean3.maven导入的jar包4.加入log4j.xml文件5.加入Spring的配置文件applicationContext.xml6.jdbc.properties7.mybatis-config.xml8.写测试类1.Mybatis_Plus介绍Mybatis_Plus为Mybatis的增强版,而不是替代版2.集成Mybatis_Plus1.创建数据库-- 创建库CREATE原创 2021-05-07 18:45:46 · 290 阅读 · 0 评论 -
Mybaits_Generator_逆向工程
Generator所谓逆向工程,就是根据配置文件然后自动配置出dao,domain,以及sql隐射在此工程下我只留有一个test的java文件用于逆向生成文件mbg.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://myb原创 2021-05-06 19:50:03 · 152 阅读 · 0 评论 -
Mybatis_缓冲机制
文章目录1.一级缓存1.1 一级缓存初体验1.2 一级缓存失效2.二级缓存2.1 开启二级缓存2.2 二级缓存的属性3.缓存原理图1.一级缓存本地缓存与数据库同一次会话期间查询到的数据会放在本地缓存中以后如果需要获取相同的数据,直接从缓存中拿一级缓存是自动开启的。下面的4种方法是使得一级缓存失效的1.sqlSession不同2.sqlSession相同,查询条件不同3.sqlSession相同,查询期间执行了增删操作4.手动清除了一级缓存1.1 一级缓存初体验 @Test原创 2021-05-05 16:21:15 · 228 阅读 · 1 评论 -
mybatis_databaseIdProvider_全局配置属性
mybatis-config.xml <databaseIdProvider type="DB_VENDOR"> <property name="Oracle" value="oracle" /> <property name="MySQL" value="mysql" /> </databaseIdProvider>如果是Oracle的数据库,databaseId就是oracle如果是MySQL数据库,databaseId就是mysqlX原创 2021-05-05 14:44:16 · 435 阅读 · 1 评论 -
Mybatis_动态sql_1
文章目录动态SQl1. if2.choose3.foreach动态SQl环境准备:1. if <select id="getEmployByConditionIf" resultType="emp"> select * from tbl_employ where <if test="id!=null"> id=#{id} </if>原创 2021-05-05 11:16:56 · 277 阅读 · 0 评论 -
Mybatis_映射文件
文章目录1.映射文件2.CRUD1.select2.insert3.update4.delete1.映射文件XxxMapper.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--名称空间--><ma原创 2021-05-04 19:57:45 · 330 阅读 · 3 评论 -
Mybatis_全局配置文件
全局配置文件mybatis-config.xml1.properties <properties resource="jdbc.properties"></properties>有url和resourceurl为网络文件,resource为本地文件jdbc.driver=com.mysql.jdbc.Driverjdbc.username=rootjdbc.password=rootjdbc.url=jdbc:mysql:///mybatis2.setti原创 2021-05-03 23:43:24 · 262 阅读 · 3 评论 -
Mybatis配置文件详解
文章目录1.从 XML 中构建 SqlSessionFactory2.mybatis-config.xml3.根据数据库字段配置POJO4.配置Mapper(Dao)5.测试类6.Maven要防止资源流出7.结果8.生命周期说明Mybatis文档网站:https://mybatis.org/mybatis-3/zh/configuration.html1.从 XML 中构建 SqlSessionFactory每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的原创 2021-03-16 11:23:22 · 279 阅读 · 0 评论 -
Mybatis之动态SQL语法详解
Mybatis动态SQL 1、sql_if & sql_where 判断&OGNL表达式 <!-- 查询员工,要求,携带了哪个字段查询条件就带上这个字段的值 --> <!-- public List<Employee> getEmpsByConditionIf(Employee employee); --> <select id="getEmpsByConditionIf" resultType="com.atguigu.mybati原创 2021-02-02 16:14:59 · 513 阅读 · 0 评论 -
MyBatis01:第一个程序
文章目录1.MyBatis简介1.什么是MyBatis持久化持久层什么是持久层?2.为什么需要MybatisMyBatis的优点2.MyBatis第一个程序1.MyBatis简介1.什么是MyBatisMyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数原创 2021-01-31 15:54:20 · 210 阅读 · 0 评论