iBatis 参数和返回值问题

今天做一个ibatis的例子,遇到一个问题,就是查询出来的结果里面所有的属性都是null,明明查出东西来了,这就怪了。

原来的配置

<sqlMap namespace="User">
  	<typeAlias alias="user" type="org.lq.news.db.User"/>
	<insert id="insertUser" parameterClass="user">
		INSERT INTO tb_user (col_id, col_username, col_password)
		VALUES (#id#, #username#, #password#)
	</insert>
	<select id="getUserByUsernameAndPassword" parameterClass="java.lang.String" resultClass="user">
		SELECT col_username, col_password  FROM tb_user WHERE col_username = #username#
	</select>
	
</sqlMap>

 

还是把问题定位到属性和数据库字段的映射上面,既然返回值是user,但是select语句是数据库的字段,现在还没有配置映射关系。改成这样就可以了。

<select id="getUserByUsernameAndPassword" parameterClass="java.lang.String" resultClass="user">
		SELECT col_username as username, col_password as password FROM tb_user WHERE col_username = #username#
	</select>

给数据库字段取个别名映射成为User类里面的属性名。

你可能感兴趣的:(ibatis)