zxcvb12 发表于 2016-11-27 13:02:35

跟我一起学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]
查看完整版本: 跟我一起学Mybatis之(五)----具体的操作