您的位置:首页 > 其它

Mybatis各种参数用法

2017-12-09 10:07 337 查看
1.只传单个String对象

<select id="findUser" parameterType="String" resultType="com.example.User">
select * from user_data where sex='M'
<choose>
<when test="_parameter != null "> AND user_id=#{userId} </when>
<otherwise> AND user_id=''</otherwise>
</choose>
and rownum <= 200
</select>


2.传多个String对象

<select id="findUser" resultType="User">
  select * from user_data where user_id = #{0} and user_name = #{1}

</select>


3.传list对象

<select id="findUsers" parameterType="java.util.List" resultType="com.example.User">
select * from user_data where sex='M'  AND user_id in
<foreach collection="list" item="user_id" index="index" open="("
close=")" separator=",">
#{user_id}
</foreach>
and rownum <= 200
</select>


4.传普通对象

<select id="findUsers" parameterType="com.example.User"
resultType="com.example.User">
Select* from user_data
<where>
<if test="user_id !=null "> user_id=#{user_id} </if>
</where>

</select>


User类:

public class User extends BaseResult{
public String user_id;
public String user_name;
public String e_mail;
public String password;

}


其中test后的和大括号里的user_id都是对应User类中的字段,“=#”前面那个user_id对应user_data中的栏位

5.resultMap用法

我们平常返回的resultType为POJO类,但是有时我们只需要部分字段,那就用到resultMap替代resultType

<resultMap id="userResultMap" type="com.example.User">
<result property="user_id" column="user_id"/>
<result property="user_name" column="user_name"/>
</resultMap


上面的property后的user_id是对应User类中的字段,column中的user_id对应user_data中的栏位

select标签:

<select id="findUsers" parameterType="com.example.User"
resultMap="userResultMap">
Select* from user_data
<where>
<if test="user_id !=null "> user_id=#{user_id} </if>
</where>

</select>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis