Mapper中包含很多映射元素,其中Select是最为常用的一种。因为数据库的增删改查,在通用项目中,查找的重要性和复杂性要大于其他三种。今天小博老师就带领大家一起学习下Select元素的一些注意事项。
我们先来看一个简单的查询语句:
SELECT * FROM COMPANY WHERE ID = #{id}
这个语句被称作selectCompany, 使用一个 int (或 Integer) 类型的参数,并返回一个 HashMap 类型的对象,其中的键是列名,值是列对应的值。
其中#{id}是一个参数,告诉MyBatis 创建一个预处理语句的参数。如果使用JDBC,等价的SQL预处理语句如下:
String selectCompany= "SELECT * FROM COMPANY WHERE ID=?"; PreparedStatement ps = conn.prepareStatement(selectCompany); ps.setInt(1,id);
当然, 这需要大量代码获取结果并将它们映射到对象实例中,在Mybatis中,这些过程都自动帮你处理了,这就是Mybatis的强大之处。
select 元素有很多属性允许你配置,详细决定每条语句的作用。如:
相关属性说明见下图: