1.什么是mybatis动态sql 看到动态,我们就应该想到,这是一个可以变化的sql语句 MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑 2.mybatis动态sql使用前准备 a.数据库表 b.创建类 3.使用mybatis动态sql,得先知道一些属性值 一,插入 selectKey:在sql语句前后或后执行的sql语句 keyColumn:对应字段名或别名 keyProperty:对应实体类的属性名或map的key值 order:在执行语句前或后执行 resultType:返回结果的类型 第一种方式:最简单的动态sql 插入
测试 测试结果 第二种方式:如果我不想插入这么多的字段,courseName这个字段我不想插入,那么第一种这种方式,肯定是不行的
测试及结果
由此可见,这种方式,在我不想插入courseCode这个字段的时候,我们是可以实现的 现在为题又来了,如果我们想把最后一个字段变为空,或者两个字段都变为空的时候,会出现什么情况 最后一个字段变为空 控制台第一个问号后面好像多了一个逗号 两个字段都变为空试试 还是多了一个逗号 出现上面这种情况的原因是,在不想插入字段的时候,我们并没有把逗号去掉,所有现在介绍第三种方式 第三种方式,去掉多余的逗号 这种方式要引入trim trim也有几种属性 prefix:添加前缀 prefixOverrides:覆盖前缀 suffix:添加后缀 suffixOverrides:覆盖后缀
看,问题解决了 在做项目的时候,我们经常对数据库进行插入数据,有时候我们会想同时插入多条,那么,在使用mybatis我们该怎么样插入多条数据呢 在这里,我们要解决几个问题 1.我们怎么样复制表结构
这个语句是不是很熟悉,对的,course02这个表不仅复制了course表的表结构,把course表的内容也复制进来了 2.我们怎么样只复制course的表结构,而不复制course表的内容呢
3.那么进行插入的时候,是不是也是和这个一样呢
答案是一样的 4.怎么进行多条语句的插入
现在sql语句有了,我们就可以在配置文件中进行插入操作了
二,修改 1.使用trim,前面也已经介绍,使用trim可以去前缀,是因为有suffixOverrides这个属性
2.使用set,可以代替语句中的set,还可以去掉后缀
3.在修改的时候我们也会有选择性的修改,有时候我们不想修改的值,让其和没有修改的值一致 choose相当于多重if 第一个when相当于if,第二个when相当于else if otherwise相当于else
以上所述是小编给大家介绍的Mybatis动态sql的全部内容,希望对大家有所帮助! |
小黑屋|在路上
( 蜀ICP备15035742号-1 )
GMT+8, 2025-5-7 04:19
Copyright 2015-2025 djqfx