mybatis select是mybatis 中最常用的元素之一。
对简单的查询,select 元素的配置是相当简单的:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.accp.mybatis.model.Blog"> <!--可重用的SQL代码段--> <sql id="blog_column">id,title,author_id as authorId</sql> <select id="selectBlog_as_map" parameterType="int" resultType="hashmap"> select <include refid="blog_column"/> from Blog where id = #{id} </select> </mapper>
这个语句被称作selectBlog_as_map,使用一个int (或Integer)类型的参数,并返回一个HashMap类型的对象。
#{id}告诉mybatis创建了一个PreparedStatement(预处理语句)参数。
在JDBC中,类似的代码如下:
String selectBlog_as_map = “select * from Blog where id =?”; PreparedStatement ps = conn.prepareStatement(selectBlog_as_map); ps.setInt(1,id);
测试代码:
public static void selectBlogAsMap(int id) { SqlSession session = sqlMapper.openSession(); Map<String, Object> map = session.selectOne("selectBlog_as_map",id); System.out.println(map); session.close(); }
SELECT的属性还有很多的属性可以配置,具体的如下: