MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的非常强大,映射器的 XML 文件就显得相对大略。如果拿它跟具有相同功能的 JDBC 代码进行比拟,你会立即创造省却了将近 95% 的代码。MyBatis 致力于减少利用本钱,让用户能更专注于 SQL 代码
<select>标签
查询语句是 MyBatis 中最常用的元素之一——光能把数据存到数据库中代价并不大,还要能重新取出来才有用,多数运用也都是查询比修正要频繁。 MyBatis 的基本原则之一是:在每个插入、更新或删除操作之间,常日会实行多个查询操作。因此,MyBatis 在查询和结果映射做了相称多的改进。一个大略查询的 select 元素是非常大略的。比如:

<select id="selectPerson" parameterType="int" resultType="hashmap"> SELECT FROM PERSON WHERE ID = #{id}</select>
这个语句名为 selectPerson,接管一个 int(或 Integer)类型的参数,并返回一个 HashMap 类型的工具,个中的键是列名,值便是结果行中的对应值。
把稳参数符号:
#{id}
这就见告 MyBatis 创建一个预处理语句(PreparedStatement)参数,在 JDBC 中,这样的一个参数在 SQL 中会由一个“?”来标识,并被通报到一个新的预处理语句中,就像这样:
// 近似的 JDBC 代码,非 MyBatis 代码...
String selectPerson = "SELECT FROM PERSON WHERE ID=?";PreparedStatement ps = conn.prepareStatement(selectPerson);ps.setInt(1,id);
当然,利用 JDBC 就意味着利用更多的代码,以便提取结果并将它们映射到工具实例中,而这便是 MyBatis 的拿手好戏。参数和结果映射的详细细节会分别在后面单独的小节中解释。
select 元素许可你配置很多属性来配置每条语句的行为细节。
<select id="selectPerson" parameterType="int" parameterMap="deprecated" resultType="hashmap" resultMap="personResultMap" flushCache="false" useCache="true" timeout="10" fetchSize="256" statementType="PREPARED" resultSetType="FORWARD_ONLY">
关于更多的标签释义我已经截图放不才方有兴趣的可以保存不雅观看
本日就先先容到这里,下期连续讲解xml映射器的update,insert,delete等标签。
欢迎大家留言关注支持,为给大家带来更精良的文章一起努力,加油。