select
select标签是mybatis中最常用的标签之一。有很多属性可以详细配置每一条SQL语句
SQL语句返回值类型(完整的类名或者别名)
传入SQL语句的参数类型(可以尝试使用map)
命名空间中唯一的标识符
接口中的方法名与映射文件中的SQL语句ID一一对应
id,parameterType,resultType
根据id查询用户
1.在UserMapper接口中声明方法
2.在UserMapper.xml中添加select语句
3.测试
insert 给数据库增加一个用户
1.在UserMapper接口中添加对应的方法
2.在UserMapper.xml中添加insert语句
3.测试
注意:增,删,改操作需要提交事务,不写的话不会提交到数据库。
update 修改用户信息
1.编写接口方法
2.编写对应的配置文件SQL
3.测试
delete根据id删除一个用户
1.编写接口方法
2.编写对应的配置文件SQL
3.测试
当实体类定义的属性名和数据库中的字段名不同时,可以使用万能的Map
1.在接口方法中,参数直接传递Map
2.编写SQL语句时,需要传递参数类型,参数类型为map
3.在使用方法的时候,Map的key为sql中取得值即可
如果参数较多,我们可以考虑直接使用map实现,如果参数较少,直接传递参数即可。
所有的增删改操作都需要提交事务
接口的左右普通参数,尽量都写上@Param参数,尤其是多个参数时,必须写上。
根据业务需求,可以考虑使用map传递参数
为了规范操作,在SQL的配置文件中,尽量将Parameter和resultType都写上。
模糊查询like语句
第一种:在Java代码中添加sql通配符
string wildcardname = “%smi%”;
list<name> names = mapper.selectlike(wildcardname);
<select id=”selectlike”>
select * from foo where bar like #{value}
</select>
第二种:在sql语句中拼接通配符,会引起sql注入
string wildcardname = “smi”;
list<name> names = mapper.selectlike(wildcardname);
<select id=”selectlike”>
select * from foo where bar like "%"#{value}"%"
</select>
网友评论