SQL映射文件的几个顶级元素(按照定义的顺序)
mapper - namespace(唯一的属性)
cache - 配置给定命名空间的缓存
cache-ref - 从其他命名空间引用缓存配置
resultMap - 用来描述数据库结果集和对象的对应关系
sql - 可以重用的sql块,也可以被其他语句引用
insert - 映射插入语句
update - 映射更新语句
delete - 映射删除语句
select - 映射查询语句
1、mapper
namespace : 命名空间
namespace和子元素的id联合保证唯一,区别不同的mapper
绑定dao接口:
namespace命名必须跟某个接口同名
接口中的方法与映射文件中SQL语句id 一一对应
mapper示例写法:
<mapper namespace = "cn.kgc.tangcco.dao.user.UserMapper">
<select id = "getUserList" ...>
...
</select>
</mapper>
2、select元素
id:
命名空间中唯一的标识符
接口中的方法与映射文件中的SQL语句id 一一对应
parameterType:
传入SQL语句的参数类型的完全限定名或别名
resultType:
SQL语句返回值类型的完整类名或别名
(1)支持基础数据类型和复杂数据类型
(2)大小写不敏感
参数传递:#{参数名}
例:
String sql = "select * from smbms_user where userName like CONCAT('%',?,'%'); PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1,userName);
//两种写法:根据具体的情况去决定使用的位置
//1、
String sql = "select * from smbms_user where userName like CONCAT('%',