mybaties
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 ......
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 ......
Mybatis
Mybatis记录 1.创建Maven工程 用idea创建maven工程 2.引入Mybatis依赖 <!-- mybatis依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <ver ......
Mybatis-Plus配置多数据源
Mybatis-Plus配置多数据源 1、引入依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>3.5.0< ......
mybatis where标签动态sql问题
xml文件 使用where标签注意事项: where标签只会去掉第一个多出来的and 和 or,使用where标签时要把and放到前面 <select id="search" resultType="com.example.springweb2.pojo.Member"> select id, na ......
mybatis-plus对列表中数据进行查询的性能比较
测试代码 共准备了以下几个测试代码: 空白对照 public List<User> test0() { return new ArrayList<>(); } for循环遍历 public List<User> test1(@RequestBody List<Integer> ids) { List ......
mybatis 中 if-test 判断详解
1、字符串判断,两种写法都可以 (1)将双引号和单引号的位置互换 <if test='testString != null and testString == "A"'> </if> (2)加上.toString() <if test="testString != null and testStri ......
mybatis xml 中 大于、小于、等于 写法
在 *.xml 中使用常规的 < > = <= >= 会与xml的语法存在冲突 使用xml 原生转义的方式进行转义 | 字符名称 | 字符串符号 | 转义字符 | |: :|: :|: | | 大于号 | > | > | | 小于号 | < | < | | 大于等于号 | >= | &g ......
常用mybatis语法
接口名与SQL格式 List<String> selectByService(@Param("serviceCode") stringCode,@Param("serviceName") stringName); <select id="selectByService" resultType="ja ......
mybatis-plus只查询部分字段的两种方法
方法1:只需要查询出name和phone两个字段:使用queryWrapper的select()方法指定要查询的字段 public List selectByWrapper1(){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrap ......
MyBatis-Plus 常用记录
1. or查询 简单or查询,拼装条件用or()方法连接 // mybatis-plus List<Student> list = studentService.list( new QueryWrapper<Student>() .eq("sex", "男") .or() .eq("name", " ......
springboot整合mybatis踩过的坑
版本问题 版本太高 (springboot-2.7.11 + mybatis-3.0.1) 解决办法:mybatis更换为2.3.0 java.lang.IllegalArgumentException: Unable to instantiate org.mybatis.spring.boot.a ......
第6章 初识MyBatis
学习目标 ● 了解MyBatis的基础知识 ● 熟悉MyBatis的工作原理 ● 掌握MyBatis入门程序的编写 6.1 什么是MyBatis MyBatis(前身是iBatis)是一个支持普通SQL查询、存储过程以及高级映射的持久层框架,它消除了几乎所有的JDBC代码和参数的手动设置以及对结果集 ......
第7章 MyBatis的核心配置
学习目标 ● 了解MyBatis核心对象的作用 ● 熟悉MyBatis配置文件中各个元素的作用 ● 掌握MyBatis映射文件中常用元素的使用 7.1 MyBatis的核心对象 SqlSessionFactory 它是单个数据库映射关系经过编译后的内存镜像,其主要作用是创建SqlSession Sq ......
第9章 MyBatis的关联映射
学习目标 ● 了解数据表之间以及对象之间的三种关联关系 ● 熟悉关联关系中的嵌套查询和嵌套结果 ● 掌握一对一、一对多和多对多关联映射的使用 9.1 关联关系概述 · 一对一:在任意一方引入对方主键作为外键。 · 一对多:在“多”的一方,添加“一”的一方的主键作为外键。 · 多对多:产生中间关系表, ......
第10章 MyBatis与Spring的整合
学习目标 ● 掌握传统DAO方式的开发整合 ● 掌握Mapper接口方式的开发整合 10.1 整合环境搭建 10.1.1 准备所需JAR包 1.Spring框架所需的JAR包 Spring框架所需要准备的JAR包共10个,其中包括:4个核心模块JAR, AOP开发使用的JAR, JDBC和事务的JA ......
springboot mybatis 动态调用oracle存储过程,通过存储过程名称,就能动态调用存储过程、java动态调用oracle存储过程
由于在开发业务时,可能同时调用的存储过程不知道参数,但是参数从界面、或已经存储在数据库的获取,所以就不希望手动写存储过程的参数,通过简化的调用。 能不能写个动态的业务,只输入存储过程名称,自动获取存储过程参数,并且参数的数据从前台传递过来,这个就通用了。只写一个通用方法,就可以调用所有的存储过程。只 ......
Mybatis框架原理概览
好久没有写博客了。最近工作中封装了一个类似ORM框架的东西。大概的原理就是将Excel数据初始化到本地sqlite数据库后,通过json配置文件,对数据库的数据做增删改查等操作。 其实大概的思考了下,就是半ORM框架mybatis的逻辑,只是我们自己封装的简陋蛮多。想想有现成的轮子没用,反而是自己写 ......
Java面试基础知识-MyBatis-Plus生成ID策略
MyBatisPlus默认实现5种主键生成策略,分别是: AUTO,配合数据库设置自增主键,可以实现主键的自动增长,类型为number; INPUT,由用户输入; NONE,不设置,等同于INPUT; ASSIGN_ID,只有当用户未输入时,采用雪花算法生成一个适用于分布式环境的全局唯一主键,类型可 ......
MyBatis学习
MyBatis 1、简介 1.1什么是MyBatis GitHub:https://github.com/mybatis/mybatis-3/releases 中文文档:https://mybatis.org/mybatis-3/zh/index.html 1.2、持久化 数据持久化,持久化就是将程 ......
Mybatis中的<![CDATA[]]>标签在判断日期场景中的使用
背景 在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义。 如大于号>会被转义为>转义后的可读性不是很直观,如果想让其看起来更加直观可读性更强的话,则需要使用<![CDATA[ ]]>来圈起来不被转义的符号以此来解决 ......
springboot使用mybatis应用clickhouse
一、clickhouse,说白了还是数据库,不一样的是clickhouse是列式存储,和传统的MySQL行式存储不同的地方在于,查询和所储。 1)查询,行式和列式的区别,图形说明 说明:理解上来说,行式对于一条数据的完整性索引会更快。而列式对于统计和查询指定数据会更加块。 2)数据存储方式 从数据上 ......