![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MyBatis与SQL语句学习
Mybatis与sql笔记
王大全
哥哼调。
展开
-
(13)【MyBatis的启动流程与Spring boot配置】
一、Mybatis的启动流程加载Mapper配置的映射文件或者注解相关sql内容创建会话工厂,MyBatis通过读写配置文件中的数据源信息来构造会话工厂创建会话,Mybatis通过会话工厂创建会话对象,会话对象是个接口,包含对数据库的增删改查方法创建执行器,会话本身不能直接操作数据库,通过数据库执行器来帮它执行操作封装Sql对象,执行器将代处理sql信息分到对象MappedStatement中,包括sql语句、输入输出、输出结果映射操作数据库原创 2023-06-29 22:48:47 · 488 阅读 · 0 评论 -
Mybatis 转义字符与 函数
Mybatis转义字符也可以用另外一种,就是<![CDATA[ ]]>符号。 在mybatis中这种符号将不会解析,用于标签冲突<![CDATA[ when min(starttime)<='12:00' and max(endtime)<='12:00' ]]> 函数1.ROWNUMOracle中的rownum一般是在实现分页查询时用到,要求返回表中的前n条记录或者是中间的几条记录参考:https://blog.csdn.net/mitedu/ar原创 2021-11-22 23:09:59 · 1200 阅读 · 0 评论 -
(12)<include>、<sql>、
<include>标签:引用复用sql语句段<sql id="sqlid"> res_type_id,res_type</sql><select id="selectbyId" resultType="com.property.PubResTypeVO"> select <include refid="sqlid"/> from pub_res_type</select>...原创 2021-11-22 22:16:14 · 365 阅读 · 0 评论 -
Start With... ... Connect By Prior语句
Start With… … Connect By Prior语句oracle的start with connect by prior是根据条件递归查询"树"作用:主要是用于B树结构类型的数据递归查询,给出B树结构类型中的任意一个结点,遍历其最终父结点或者子结点start with 子句:遍历起始条件,如果要查父结点,这里可以用子结点的列,反之亦然。connect by 子句:连接条件。关键词prior,prior跟父节点列parentid放在一起,就是往父结点方向遍历;prior跟子结点列subi原创 2021-11-16 23:43:33 · 897 阅读 · 0 评论 -
(11) <resultMap>、<association>、<collection>标签
resultMap标签原创 2021-11-14 23:25:16 · 765 阅读 · 0 评论 -
(10)<bind>标签
bind语句在进行模糊查询时,如果使用“${}”拼接字符串,则无法防止 SQL 注入问题。如果使用字符串拼接函数或连接符号,但不同数据库的拼接函数或连接符号不同。例如 MySQL 的 concat 函数、Oracle 的连接符号“||”,这样 SQL 映射文件就需要根据不同的数据库提供不同的实现,显然比较麻烦,且不利于代码的移植。幸运的是,MyBatis 提供了 元素来解决这一问题。<!--使用bind元素进行模糊查询--><select id="selectUserByBind原创 2021-09-14 23:13:33 · 289 阅读 · 0 评论 -
(9)<foreach>标签
foreach语句foreach 元素主要用在构建 in 条件中,它可以在 SQL 语句中迭代一个集合。item 表示集合中每一个元素进行迭代时的别名。index 指定一个名字,用于表示在迭代过程中每次迭代到的位置。open 表示该语句以什么开始。separator 表示在每次进行迭代之间以什么符号作为分隔符。close 表示以什么结束。在使用 foreach 元素时,最关键、最容易出错的是 collection 属性,该属性是必选的,但在不同情况下该属性的值是不一样的,主要有以下 3 种原创 2021-09-14 23:12:53 · 205 阅读 · 0 评论 -
(8)<trim>、<where>、<set>标签
MyBatis动态sql之trim、where、set标签 元素的主要功能是可以在自己包含的内容前加上某些前缀,也可以在其后加上某些后缀,与之对应的属性是 prefix 和 suffix。可以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖,对应的属性是 prefixOverrides 和 suffixOverrides。正因为 元素有这样的功能,所以也可以非常简单地利用 来代替 元素的功能。trim标签一般用于去除sql语句中多余的and关键字,逗号,或者给sql语句前拼接 “转载 2021-09-14 23:12:26 · 525 阅读 · 0 评论 -
(7)<choose>、<when>、<otherwise>标签
MyBatis动态sql之choose、when、otherwise标签有些时候不想用到所有的条件语句,而只想从中择取一二,针对这种情况,MyBatis 提供了 元素,它有点像 Java 中的 switch 语句。<!--使用choose、when、otherwise元素根据条件动态查询用户信息--><select id="selectUserByChoose" resultType="com.po.MyUser" parameterType= "com.po.MyUser">转载 2021-08-29 19:08:03 · 640 阅读 · 0 评论 -
(6)<if>标签与if语句
if 语句开发人员通常根据需求手动拼接 SQL 语句,这是一个极其麻烦的工作,而 MyBatis 提供了对 SQL 语句动态组装的功能,恰能解决这一问题。MyBatis 的动态 SQL 元素与 JSTL 或 XML 文本处理器相似,常用<if>、<choose>、<when>、<otherwise>、<trim>、<where>、<set>、<foreach> 和 <bind> 等元素<原创 2021-08-29 18:59:55 · 1042 阅读 · 0 评论 -
(5)<delete>标签与delete语句
delete语句id: sql 片段在命名空间内的唯一标识.parameterType: 参数类型,flushCache: 是否刷新(清空)一级缓存和二级缓存, 默认为true. 使用默认即可.timeout: sql 执行超时时间, 默认未设置, 由数据库驱动决定.statementType: 执行sql时使用的statement类型, 默认为PREPARED. 可选值为:STATEMENT,PREPARED 或 CALLABLE 的一个<!-- 删除学生 --> <原创 2021-08-29 18:51:48 · 505 阅读 · 0 评论 -
(4)<update>标签与 update 语句
update语句id 在这个模式下唯一的标识符,可被其它语句引用parameterType 传给此语句的参数的完整类名或别名flushCache 如果设为true,则会在每次语句调用的时候就会清空缓存。select 语句默认设为false true/false falseuseCache 如果设为true,则语句的结果集将被缓存。select 语句默认设为false true/false falsetimeout 设置驱动器在抛出异常前等待回应的最长时间,默认为不设值,由驱动器自己决定 正整数原创 2021-08-29 18:46:26 · 1439 阅读 · 0 评论 -
(3)<insert>标签与 insert 语句
insert语句<insert id="" 命名空间的唯一标识符,一般是dao中对应的方法名 parameterType="" 可选属性,默认值unser,MyBatis可以通过TypeHandler推断出传入语句的参数 keyColumn="" 设置数据表自动生成的主键名。对特定数据库(如PostgreSQL),若自动生成的主键不是第一个字段则必须设置 keyProperty=""转载 2021-08-29 18:30:08 · 1234 阅读 · 0 评论 -
(2)<select>标签与 select 语句
select语句<select id="" 命名空间的唯一标识符,一般是dao中对应的方法名 parameterType="" 可选属性,默认值unser,MyBatis可以通过TypeHandler推断出传入语句的参数 parameterMap="" resultType="" 期望返回的数据类型的类的全限定名 resultMap="" 结果集映射,不可原创 2021-08-29 16:00:13 · 2015 阅读 · 0 评论 -
(1)初次认识Mybatis
Mybatis介绍MyBatis是一个支持普通SQL查询、存储过程和高级映射的优秀持久层框架。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。使用Mybatis的环境搭配1.创建一个Java项目,jar库需要导入mybatis-3.1.1.jar2.连接mysql数据库:mysql-connector-java-5.1.7-bin.jar3.自行在mysql数据库建立相原创 2021-08-29 14:06:42 · 96 阅读 · 0 评论 -
(0)MyBatis所有标签概览
MyBatis标签概览原创 2021-11-14 20:39:06 · 206 阅读 · 0 评论