I'm trying to select dynamic column. Below are my codes:
//call the dao method
String columns = "first_name";
userDao.sample(1, columns);
//call mapper
List<User> sample(@Param("userId") int userId, @Param("columns") String columns);
//mapper
<select id="sample" resultMap="user" parameterType="map">
SELECT
#{columns}
FROM
user
WHERE
userId = #{userId}
</select>
This is the result I'm getting:
[null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]
What am I doing wrong?
its cannot becauase your parameter is map so you can change like this and try that
//call the dao method
String columns = "first_name";
HashMap map = new HashMap();
map.put("userId",userId);
map.put("columns",columns);
userDao.sample(map);
//call mapper
List<User> sample(HashMap map);
//mapper
<select id="sample" resultMap="user" parameterType="map">
SELECT
#{columns}
FROM
user
WHERE
userId = #{userId}
</select>
you can also use the SQL section like in the official docs:
http://www.mybatis.org/mybatis-3/sqlmap-xml.html
Section SQL
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.