springboot+mybatis,mapper文件的写法

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.exam.demo1.mapper.UserMapper" >
<resultMap id="BaseResultMap" type="com.exam.demo1.model.User" >
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="password" property="password" jdbcType="VARCHAR" />
<result column="phone" property="phone" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
id, name, password, phone
</sql>
<select id="getUserByName" resultMap="BaseResultMap" parameterType="String" >
select
<include refid="Base_Column_List" />
from t_user
where name = #{name,jdbcType=VARCHAR}
</select>
<select id="getAllUsers" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_user
</select>
<delete id="deleteUser" parameterType="String" >
delete from t_user
where name = #{name,jdbcType=VARCHAR}
</delete>
<insert id="addUser" parameterType="com.exam.demo1.model.User" >
insert into t_user (id, name, password, phone)
values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},
#{phone,jdbcType=VARCHAR})
</insert>
<update id="updateUser" parameterType="com.exam.demo1.model.User" >
update t_user
set
<if test="password !=null">
password = #{password,jdbcType=VARCHAR}
</if>
<if test="phone !=null">
,phone = #{phone,jdbcType=VARCHAR}
</if>
where name = #{name,jdbcType=VARCHAR}
</update>

</mapper>

parameterType想传递多个参数时,可以采用如下的方法:

1. 把多个参数封装成一个model,如下,User这个model:

User user=new User();

user.setUserName("zhangsan");

user.setPassword("123456");

getUser(user);

mapper文件里:

<select id="getUser”  rsultType="User"   parameterType="com.exam.demo1.model.User" >

select * from user  where username=#{userName} and  password=#{passWord}

</select>

2.使用HashMap封装

HashMap <String,Object> map=new HashMap<String,Object>();

map.put("userName","zhangsan");

map.put("password","123456");

getUser(map);//为返回值类型为User

mapper中:

<select id="getUser"    resultType="User" parameterType="Map" >

select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}

</select>

3. 使用注解:

getUser(@param(''userName")String userName,@param("password")String password);

Mapper中:

<select id="getUser"    resultType="User">

select * from user u where u.user_name=#{userName} and u.pass_word=#{passWord}//

</select>

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值