Mybatis之select元素

来源:互联网 发布:nodejs 性能优化 编辑:程序博客网 时间:2024/05/01 07:50

select

查询语句是 MyBatis 中最常用的元素之一,光能把数据存到数据库中价值并不大,如果还能重新取出来才有用,多数应用也都是查询 比修改要频繁。对每个插入、更新或删除操作,通常对应多个查询操作。这是 MyBatis 的基本原则之一,也是将焦点和努力放到查询 和结果映射的原因。简单查询的 select 元素是非常简单的。比如:

<select id="selectPerson" parameterType="int" resultType="hashmap">SELECT * FROM PERSON WHERE ID = #{id}</select>

这个语句被称作 selectPerson,接受一个 int(或 Integer)类型的参数,并返回一个 HashMap 类型的对象,其中的键是列名,值 便是结果行中的对应值。

注意参数符号:

#{id}

这就告诉 MyBatis 创建一个预处理语句参数,通过 JDBC,这样的一个参数在 SQL 中会由一个“?”来标识,并被传递到一个新的预处理 语句中,就像这样

// Similar JDBC code, NOT MyBatis…String selectPerson = "SELECT * FROM PERSON WHERE ID=?";PreparedStatement ps = conn.prepareStatement(selectPerson); ps.setInt(1,id);
当然,这需要很多单独的 JDBC 的代码来提取结果并将它们映射到对象实例中,这就是 MyBatis 节省你时间的地方。我们需要深入了 解参数和结果映射,细节部分我们下面来了解。<span style="font-family: Arial, Helvetica, sans-serif;">select 元素有很多属性允许你配置,来决定每条语句的作用细节</span>
<select id="selectPerson" parameterType="int"parameterMap="deprecated"resultType="hashmap"resultMap="personResultMap" flushCache="false" useCache="true"  timeout="10000" fetchSize="256" statementType="PREPARED" resultSetType="FORWARD_ONLY">

0 0
原创粉丝点击