association collection mybatis mapper
mybatis 动态sql语句拼接
mybatis常用占位符的方式传递参数,比较安全,可以防止sql注入。 有些时候,特殊逻辑需要java封装好一些特殊的查询条件,然后和mybatis一起封装成特殊sql进行执行。 #{param}:替换参数 ${sql}:拼接sql语句。 遇到一些模板类的功能,例如用户选择查询条件,或者查询语句,就 ......
Mybatis 常用传参方式
虽然了解Mybatis 的底层原理,技术架构,各种对接搭建才是高大上,但是对于业务实现的高频率散点的汇总,更加有实用价值,规避常见问题,一步到位精准快速开发,可以节省生命。 单个简单参数 public List<AgentVo> getAgentList(String appId); <select ......
mybatis控制动态SQL拼接标签之if test标签
if标签通常用于WHERE语句、UPDATE语句、INSERT语句中, 通过判断参数值来决定是否使用某个查询条件、判断是否更新某一个字段、判断是否插入某个字段的值。 mybatis是一个天才设计,面向对象未必就是真理,相对于JPA等框架,具有更大的自由度和灵活度。 简单示例 select host_ ......
mybatis之OGNL表达式
对象导航图语言(Object Graph Navigation Language),简称OGNL, 是应用于Java中的一个开源的表达式语言(Expression Language) 这里制作简单的了解,知道是什么。 OGNL表达式 OGNL 常用表达式 e1 or e2 e1 and e2 e1 ......
mybatis格式化输出标签之where 标签
复制copy是程序员提高效能的核心方式,但是由于有些知识陈旧了,年复一年的复制, 而没有系统的知识学习,并不晓得还有更合理或者更优雅的写法。 1=1 这种东西很多项目很常见,但是应该被放进历史的垃圾桶的。 <select id="getAgentList" resultType="com.wht.d ......
mybatis格式化输出标签之trim标签
trim属性主要有以下四个 prefix:前缀覆盖并增加其内容 suffix:后缀覆盖并增加其内容 prefixOverrides:前缀判断的条件 suffixOverrides:后缀判断的条件 其实这个很少用,因为有对应的标签做处理。 查询等同where标签功能 <select id="getAg ......
Mybatis
# Mybatis 0. 概述 1). 框架: 框架中一般都是所有程序员都需要开发的重复代码,框架把这些提供好之后,程序员就可以把精力专注在核心业务上。 2). Mybatis: MyBatis是一款优秀的持久层框架,使用Mybatis可以轻松的实现Java程序向数据库发送SQL语句,而且对于SQL ......
Mybatis
Mybatis记录 1.创建Maven工程 用idea创建maven工程 2.引入Mybatis依赖 <!-- mybatis依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <ver ......
springboot mybatis-plus 3.5.1代码生成器配置
springboot mybatis-plus 3.5.1代码生成器配置 https://blog.csdn.net/Lean_on_Me/article/details/128066822 ......
Collections:Java常见并发容器
JDK 提供的这些容器大部分在 java.util.concurrent (JUC)包中。//concurrent同时发生的 1.ConcurrentHashMap : 线程安全的 HashMap 在 ConcurrentHashMap 中,无论是读操作还是写操作都能保证很高的性能:在进行读操作时( ......
[ERR] collect2: fatal error: cannot find 'ld'
今天在orin nano上希望g++使用lld代替ld时候,在如下命令时候抛出了如标题的错误 >> g++ -fuse-ld=lld a.cc collect2: fatal error: cannot find 'ld' compilation terminated. 因为最开始配置llvm-15 ......
简单理解Collections.synchronizedList
转: 简单理解Collections.synchronizedList synchronizedList 中的listIterator和listIterator(int index)方法并没有做同步处理,遍历的时候需要加锁 编译后的class ......
解决 VMware 虚拟机 Linux /dev/mapper/ubuntu--vg-ubuntu--lv 磁盘空间不足的问题
之前在 VMware 安装 Ubuntu Server 的时候 磁盘分区 选择了 LVM,所以系统根目录默认占用磁盘大小只有4G,在安装软件时发现磁盘空间4G已经无法满足,所以需要利用 LVM 对磁盘进行扩容 使用 Docker 拉取 MySQL 镜像时发现磁盘空间不够:no space left ......
Mybatis总体框架设计
Mybatis架构概览 Mybatis架构整体设计如下: 接口层和数据库交互的方式 Mybatis和数据库的交互方式有两种 使用传统的MyBatis提供的API; 使用Mapper接口 使用传统的MyBatis提供的API 这是传统的传递Statement Id 和查询参数给 SqlSession ......
mybatis定义sql语句标签之select 标签
属性介绍: id :唯一的标识符.和Mapper接口定义方法名同名。 parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User或user,目前很少用到。 resultType :语句返回值类型或别名。 注意,如果是集合,那么这里填写的是集合的泛型,而不是 ......
mybatis定义sql语句标签之insert标签
这是非常核心的一个标签,CURD是mybatis的核心功能。 insert元素相对于select元素要简单很多,mybatis会在插入之后返回一个整数,表示插入成功后插入的条数。 真实项目中,使用最多的一个点要注意,在插入过程中返回一些自动主键。 因为这个主键,在同一个事务中,还有其它用。例如级联。 ......
mybatis定义sql语句标签之update标签
这个标签比较简单,真实业务更新是非常常用的,并且update还用来做删除。 真实业务基本都是软删除,修改删除标志。0->1 属性说明 id:和其它标签一样是唯一标志 简单示例 <update id="updateNodeById" parameterType="com.wht.demo.dao.vo ......
mybatis定义sql语句标签之delete标签
delete标签目前没什么好说的,并且这个标签在实际业务中使用的非常少。 因为对于真实业务来说,所有数据都是有价值的,不允许做硬删除,除非没业务的垃圾数据。 属性说明 id:和其它标签一样是唯一标志 <delete id="deleteNodeById"> delete from t_node_ag ......
mybatis控制动态SQL拼接标签之choose标签
mybatis控制动态SQL拼接标签之choose标签 有时候我们并不想应用所有的条件,而只是想从多个选项中选择一个。 MyBatis提供了choose 元素,按顺序判断when中的条件出否成立,如果有一个成立,则choose结束。 当choose中所有when的条件都不满则时,则执行 otherw ......
mybatis控制动态SQL拼接标签之foreach标签
mybatis控制动态SQL拼接标签之foreach标签 foreach标签主要用于构建in条件,可在sql中对集合进行迭代。也常用到批量删除、添加等操作中。 这个标签在实际业务中非常常用,当然运维旧项目也会发现,有些坑,用java循环执行sql来表示批量插入。 属性说明: collection:c ......
mybatis前言
一切都很简单,基于我们的业务开发,每天都在copy不求甚解。 技术一直在演变,而我们永远用着曾今用过的知识点。 因为碎片化,我们不关注整体,没有系统的汇总,不知道有没有更优雅的迭代。 像极了从远古流传的 1=1,原来还有标签,很简单因为没见过所以不知道。 就像Java中的迭代删除,很简单大家还在用f ......
SpringBoot关于自动注入service、mapper为空的坑
普通类Test要注入**service、**mapper,在此类上加注解 @Component,此注解的作用是将该类被springboot扫描 注意::: 注意::: 注意::: 这个Test类在别处引用,千万不要直接new Test(),否则不会自动注入**service、**mapper 如果想 ......
eclipse创建一个简单的MyBatis项目
1.创建一个web应用程序 2.输入项目名称 3.在lib文件夹中添加jar包 4.在src文件夹中创建com.demo.po,com.demo.mapper,com.demo.dao三个包,并创建MyBatis框架配置文件mybatis-config.xml文件,在mapper目录下创建数据实体映 ......
15.mybatis-plus的QueryWrapper的查询、更新、删除的用法
1.条件构造查询: 2.主装的查询语句: 3.主装排序的查询语句: 4.删除语句: 5.更新语句的应用:userMapper.update(A,B); QueryWrapper userWrapper = new QueryWrapper <>(); User user = new User(); ......
Mybatis使用
1. <insert>元素 很多时候,执行插入操作后,需要获取插入成功的数据生成的主键值,不同类型数据库获取主键值的方式不同,下面分别对支持主键自动增长的数据库获取主键值和不支持主键自动增长的数据库获取主键值的方式进行介绍。 如果使用的数据库支持主键自动增长(如MySQL和SQL Server),那 ......
mybatis.xml文件判断int、Date类型是否为空时报Cause: java.lang.IllegalArgumentException错
mybatis.xml中判断Date、int类型字段是否为空值报错 错误的: <if test="payType!=null and payType!=''"> n.pay_type=#{payType} </if> <if test="startOrderTime!=null and startO ......