跟我一起学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);
	}

这便是一个基本查询的完成。

猜你喜欢

转载自1358440610-qq-com.iteye.com/blog/2009141