mybatis
文章平均质量分 93
mybatis
屁颠屁颠过日子
这个作者很懒,什么都没留下…
展开
-
Mybatis - 常见面试题
因为SQL语句在程序运行前已经进行了预编译,在使用参数化查询时,数据库不会将参数的内容视为SQL的一部分来处理,而是在数据库完成SQL指令编译后,才套用参数运行,即使参数里有敏感字符如 or ‘1=1’,数据库会作为一个字段的属性值来处理而不会作为一个SQL指令。sql注入攻击就是输入参数未经过滤,直接拼接到sql语句中,解析执行,达到预想之外的行为,即执行恶意SQL语句。上例中,若第一个if 为真,则把该 if 中的 and 去掉,若上述红色存在,则出现错误,需要用trim标签。mappers(映射器)原创 2024-04-25 15:11:47 · 919 阅读 · 0 评论 -
mybatis - 延迟、缓存
当用户发起查询时,根据当前执行的语句生成MappedStatement,在Local Cache进行查询,如果缓存命中,直接返回结果给用户,如果缓存没有命中的话,查询数据库,结果写入Local Cache,最后返回结果给用户。通常为每个单表创建单独的映射文件,由于MyBatis的二级缓存是基于namespace的,多表查询语句所在的namspace无法感应到其他namespace中的语句对多表查询中涉及的表进行的修改,引发脏数据问题。ii) 侵入式延迟:执行对主加载对象的查询时,不会执行对关联对象的查询。原创 2024-04-25 14:50:10 · 661 阅读 · 0 评论 -
Mybatis - 标签、注解
在 MyBatis 中,“parameterType” 用于指定传递给 SQL 语句的参数类型。它告诉 MyBatis 应该将哪种类型的对象传递给 SQL 语句,以便在语句中使用。: 可以直接指定 Java 中的基本数据类型或其包装类作为 “parameterType”。: 可以指定一个 Java 对象作为 “parameterType”,MyBatis 将会把该对象传递给 SQL 语句。原创 2024-04-22 13:39:30 · 1148 阅读 · 0 评论 -
Mybatis -配置文件
自己定义的 TypeHandler ,都需要实现 TypeHandler 接口,并声明其泛型,即要处理的目标类型。TypeHandler 接口中定义了 4 个方法,大面上分两类:当 mapper.xml 中定义的 statement 中出现指定泛型类型的参数时,如何对 PreparedStatement 操作;查询动作封装结果集时,对于实体类中出现的指定泛型类型的属性时,应该如何从 ResultSet 中取到数据,并转换为指定类型。原创 2024-04-11 21:12:40 · 864 阅读 · 0 评论 -
mybatis -- 事务管理机制
一、概述对数据库的事务而言,具有以下几点:创建、提交、回滚、关闭。对应地,MyBatis将事务抽象成了Transaction接口,接口定义获取了Connection相关功能。MyBatis的事务管理分为两种形式:使用JDBC:利用Connection对象完成对事务的提交commit()、回滚rollback()、关闭close()使用MANAGED:这种机制MyBatis自身不会去实现事...原创 2020-05-08 10:58:12 · 416 阅读 · 0 评论 -
mybatis -- 工作原理
一、框架设计1. 接口层—和数据库交互的方式:以使用Mapper接口为例将配置文件中的每一个<mapper> 节点抽象为一个 Mapper 接口,这个接口中声明的方法和跟Mapper.xml中的<select|update|delete|insert> 节点项对应,id值对应方法名称,parameterType 值对应方法的入参类型,而resultMap 值则对应返回...原创 2020-05-08 11:18:26 · 309 阅读 · 0 评论 -
mybatis -- 数据源与连接池
一、MyBatis数据源DataSource分类MyBatis把数据源DataSource分为三种:UNPOOLED 不使用连接池的数据源POOLED 使用连接池的数据源JNDI 使用JNDI实现的数据源,从tomcat中获取一个内置的数据库连接池MyBatis内部定义了实现java.sql.DataSource接口的Unpoole...原创 2020-05-08 10:50:15 · 255 阅读 · 0 评论 -
mybatis -- 初始化过程
一、 MyBatis的初始化做了什么加载自己运行时所需要的配置信息MyBatis的XML配置文件信息,会被加载进入MyBatis内部,使用Configuration 对象作为一个所有配置信息的容器,Configuration对象的组织结构和XML配置文件的组织结构几乎完全一样。MyBatis初始化的过程,就是创建 Configuration对象的过程。二、MyBatis基于XML配置文件创...原创 2020-05-08 11:04:42 · 460 阅读 · 0 评论