这次呢,主要是介绍使用,不介绍翻译了,先大概介绍一下:
?
<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); }
?
?
?
?
这便是一个基本查询的完成。
?
?
?
?
?
?