随笔分类 - mybatis
CSDN怀旧,迁移层级的笔记
摘要:mybatis常用占位符的方式传递参数,比较安全,可以防止sql注入。 有些时候,特殊逻辑需要java封装好一些特殊的查询条件,然后和mybatis一起封装成特殊sql进行执行。 #{param}:替换参数 ${sql}:拼接sql语句。 遇到一些模板类的功能,例如用户选择查询条件,或者查询语句,就
阅读全文
摘要:虽然了解Mybatis 的底层原理,技术架构,各种对接搭建才是高大上,但是对于业务实现的高频率散点的汇总,更加有实用价值,规避常见问题,一步到位精准快速开发,可以节省生命。 单个简单参数 public List<AgentVo> getAgentList(String appId); <select
阅读全文
摘要:if标签通常用于WHERE语句、UPDATE语句、INSERT语句中, 通过判断参数值来决定是否使用某个查询条件、判断是否更新某一个字段、判断是否插入某个字段的值。 mybatis是一个天才设计,面向对象未必就是真理,相对于JPA等框架,具有更大的自由度和灵活度。 简单示例 select host_
阅读全文
摘要:对象导航图语言(Object Graph Navigation Language),简称OGNL, 是应用于Java中的一个开源的表达式语言(Expression Language) 这里制作简单的了解,知道是什么。 OGNL表达式 OGNL 常用表达式 e1 or e2 e1 and e2 e1
阅读全文
摘要:复制copy是程序员提高效能的核心方式,但是由于有些知识陈旧了,年复一年的复制, 而没有系统的知识学习,并不晓得还有更合理或者更优雅的写法。 1=1 这种东西很多项目很常见,但是应该被放进历史的垃圾桶的。 <select id="getAgentList" resultType="com.wht.d
阅读全文
摘要:trim属性主要有以下四个 prefix:前缀覆盖并增加其内容 suffix:后缀覆盖并增加其内容 prefixOverrides:前缀判断的条件 suffixOverrides:后缀判断的条件 其实这个很少用,因为有对应的标签做处理。 查询等同where标签功能 <select id="getAg
阅读全文
摘要:XML转移符 这种方式看起来将不会太直观 | 符号 |转义 |说明 | |--|--|--| | > | > |大于 | | < | < | 小于 | | & | &| 和 | | ' | ' | 单引号 | | " | " | 双引号 | <![CDATA[
阅读全文
摘要:属性介绍: id :唯一的标识符.和Mapper接口定义方法名同名。 parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User或user,目前很少用到。 resultType :语句返回值类型或别名。 注意,如果是集合,那么这里填写的是集合的泛型,而不是
阅读全文
摘要:这是非常核心的一个标签,CURD是mybatis的核心功能。 insert元素相对于select元素要简单很多,mybatis会在插入之后返回一个整数,表示插入成功后插入的条数。 真实项目中,使用最多的一个点要注意,在插入过程中返回一些自动主键。 因为这个主键,在同一个事务中,还有其它用。例如级联。
阅读全文
摘要:delete标签目前没什么好说的,并且这个标签在实际业务中使用的非常少。 因为对于真实业务来说,所有数据都是有价值的,不允许做硬删除,除非没业务的垃圾数据。 属性说明 id:和其它标签一样是唯一标志 <delete id="deleteNodeById"> delete from t_node_ag
阅读全文
摘要:这个标签比较简单,真实业务更新是非常常用的,并且update还用来做删除。 真实业务基本都是软删除,修改删除标志。0->1 属性说明 id:和其它标签一样是唯一标志 简单示例 <update id="updateNodeById" parameterType="com.wht.demo.dao.vo
阅读全文
摘要:mybatis控制动态SQL拼接标签之foreach标签 foreach标签主要用于构建in条件,可在sql中对集合进行迭代。也常用到批量删除、添加等操作中。 这个标签在实际业务中非常常用,当然运维旧项目也会发现,有些坑,用java循环执行sql来表示批量插入。 属性说明: collection:c
阅读全文
摘要:mybatis控制动态SQL拼接标签之choose标签 有时候我们并不想应用所有的条件,而只是想从多个选项中选择一个。 MyBatis提供了choose 元素,按顺序判断when中的条件出否成立,如果有一个成立,则choose结束。 当choose中所有when的条件都不满则时,则执行 otherw
阅读全文
摘要:一切都很简单,基于我们的业务开发,每天都在copy不求甚解。 技术一直在演变,而我们永远用着曾今用过的知识点。 因为碎片化,我们不关注整体,没有系统的汇总,不知道有没有更优雅的迭代。 像极了从远古流传的 1=1,原来还有标签,很简单因为没见过所以不知道。 就像Java中的迭代删除,很简单大家还在用f
阅读全文