跟我一起学Mybatis之(五)----具体的操作
这次呢,主要是介绍使用,不介绍翻译了,先大概介绍一下:<select id="selectPerson" parameterType="int" resultType="hashmap">
SELECT * FROM PERSON WHERE ID = #{id}
</select>
上面的这个生命将会调用selectPerson,有一个参数的类型是int类型的,返回的结果是HashMap类型的(key是列明,value是对应的数据库中的数据值)
请注意:
#{id}
这将会告诉MyBatis创建一个PreparedStatement参数,在JDBC里面,这样的参数在SQL语句中将被定义为“?”形式,正如java中的定义:
String selectPerson = "SELECT * FROM PERSON WHERE ID=?";
PreparedStatement ps = conn.prepareStatement(selectPerson);
ps.setInt(1,id);
也可以如下详细的 进行参数设置:
<select
id="selectPerson"
parameterType="int"
parameterMap="deprecated"
resultType="hashmap"
resultMap="personResultMap"
flushCache="false"
useCache="true"
timeout="10000"
fetchSize="256"
statementType="PREPARED"
resultSetType="FORWARD_ONLY">
下面是我的代码,包括xml中的定义以及java代码的测试:
<select id="selectOnePerson" parameterType="int" resultType="com.ggg.henushang.entity.Person">
select * from Person where id = #{id}
</select>
dao中的定义:
Person selectOnePerson(int id);
测试代码:
@Test
public void testGetOnePerson(){
Person p = session.selectOne("com.ggg.henushang.dao.PersonDao.selectOnePerson",1);
System.out.println(p);
Assert.assertNotNull(p);
}
这便是一个基本查询的完成。
页:
[1]