在MyBatis中可以用以下的方式來傳遞多個參數
http://my.oschina.net/ydsakyclguozi/blog/147950
1. 用java.util.Map來傳遞, Code 如下:
1
2
3
4
5
6
7
|
public List<User> getAllUsersByUserName(String username, int start, int limit){ Map<String,Object> params = new HashMap<String, Object>( 3 ); params.put( "username" ,username); params.put( "start" ,start); params.put( "limit" ,limit); return userMapper.getAllUsersByUserName(params); } |
對應的XXMapper.xml文件中如下:
1
2
3
|
< select id = "getAllUsersByUserName" parameterType = "map" resultType = "User" > SELECT u.* FROM User u WHERE u.username LIKE #{username} '%' LIMIT #{start}, #{limit} </ select > |
2. 用JavaBean的方式來傳遞, Code如下:
1
2
3
4
5
|
public List<User> getUsersByUserName(String username){ User user = new User(); user.setUsername(username); return userMapper.getUserByUsername(user); } |
對應的XXMapper.xml文件中如下:
1
2
3
|
< select id = "getAllUsersByUserName" parameterType = "User" resultType = "User" > SELECT u.* FROM User u WHERE u.username = #{username} </ select > |
3.使用@Param這個註解,對應的XXMapper.xml文件同上
1
|
List<User> getAllUsersByUserName( @Param ( "username" )String name, @Param ( "start" )Integer start, @Param ( "limit" )Integer limit); |