Spring+mybatis框架 需要写SQL
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
要记得写上文件头
(1)首选一个遇到的便是标签namespace的值是该Mapper对应的方法接口。
(2)然后就是最常用的增删改查
id的值是对应Mapper接口里面的方法名,resultType里面的值是方法的返回值的类型,如果没有返回值可以不写,parameterType是方法传入参数的类型。都是类似的
(3)在我做多条件查询的时候出现了问题,就是当复合查询条件有一个为空的时候,SQL语句就会报错,因为从后台没有传过来值的类型,这时候就用到了和,具体的使用方法如下:
and item1 LIKE '%${item1}%'
and item2=#{item2}
标签会自动处理第一次遇到的And或者OR,这样就实现了符合查询,且允许查询条件为空。另外在我查询资料的时候发现还有标签,可以定义字符串规则,比如处理And或者Or字符串
这句换的意思就是:当where后紧随And或者Or的时候就自动除去。
(4)在插入数据的时候用set也会自动处理,问题,
item1 = #{item1},
item1 = #{item1}
这样的话在只有第一条数据的时候会自动删除后面的逗号。用表示就是
...
(5)批量删除数据的时候是根据ids删除的,这时候是一个数组,这时候用标签来遍历每一个id,达到批量删除的目的。
delete from news_info where id in
#{ids}
parameterType是指collection的数据类型,collection可以为list 、array、还可以为map,当为map的时候index为map的key。
(6)在查看资料的时候,发现了另外的标签,虽然我暂时还没有用到,但是还是根据自己的理解提一下这个标签,与java中的switch类似,mybatis中有choose
当title都不为空的时候,就要二者选一(前者优先),如果都为null,那么就选择中的内容,如果前面的里面有不为空的,就选择不为空的过程。