public class UserDto{
private long uid;
private String userName;
//getter and setters
....
}
<mapper namespace="me.rowkey.pje.mybatis">
<resultMap type="UserDto" id="userResultMap">
<result property="userName" column="uname"/>
</resultMap>
<!-- 根据uid查询用户开放信息 -->
<select id="getOpenUserInfo" parameterType="String" resultType="UserDto" resultMap="userResultMap"
useCache="true" flushCache="true">
<![CDATA[
select uid,uname from test_user
WHERE uid = #{id}
]]>
</select>
</mapper>
new SQL() {{
SELECT("user.id, user.user_name");
SELECT("user.sign, user.gender");
FROM("user_account user");
INNER_JOIN("user_base_info uinfo on user.uid = uinfo.uid");
WHERE("user.user_name like ?");
OR();
WHERE("uinfo.nick_name like ?");
ORDER_BY("user.create_time");
}}.toString();
"SELECT user.id, user.user_name, "
"user.sign, user.gender " +
"FROM user_account user " +
"INNER JOIN user_base_info uinfo on user.uid = uinfo.uid" +
"WHERE (user.user_name like ?) " +
"OR (uinfo.nick_name like ?) " +
"ORDER BY user.create_time";
<sql id="getTestByStatus_fragment">
from test_meta where status = #{status}
</sql>
<select id='getTestList' parameterType='map' resultMap='Test'>
select id
<include refid="getTestByStatus_fragment"/>
order by
create_time desc
</select>