Mybatis学习之路02_CRUD

  • id:在接口文件中的函数名

  • resultType:返回结果的类型

  • parameterType:传参类型(需要传入多个参数时,将 所有参数封装成类)

1.select

在MapperDao中加入:

 User getUserById(int id);

在Mapper.xml中:

<select id="getUserById" resultType="com.zgl.pojo.User" parameterType="int">
        select * from mybatis.user where id=#{id};
    </select>

2.insert

在MapperDao中加入:

 int addUser(User user);

在Mapper.xml中:

<!--    属性中的对象可以直接取出来-->
    <insert id="addUser" parameterType="com.zgl.pojo.User">
        insert into mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd})
    </insert>

注意:插入的变量名必须和User类里面的变量同名,否则找不到数据

3.update

在MapperDao中加入:

int updateUser(User user);

在Mapper.xml中:

 <update id="updateUser" parameterType="com.zgl.pojo.User">
        update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id}
    </update>

4.delete

在MapperDao中加入:

 int deleteUser(int id);

在Mapper.xml中:

 <delete id="deleteUser" parameterType="int">
        delete from mybatis.user where id=#{id};
    </delete>

5.万能的Map

如果我们实体类中的参数过多,或数据库中表字段过多,我们应当考虑用map(不用去知道实体类中有哪些参数,甚至可以不用实体类)

在MapperDao中加入:

//    万能map
    int addUser2(Map<String,Object> map);

在Mapper.xml中:

<!--    万能map-->
    <insert id="addUser2" parameterType="map">
         insert into mybatis.user (id,name,pwd) values (#{userId},#{userName},#{password})
    </insert>

测试:

@Test
public void addUser2(){

    SqlSession sqlSession=MybatisUtils.getSqlSeesion();
    UserDao userDao=sqlSession.getMapper(UserDao.class);
    Map<String,Object> map=new HashMap<String, Object>();
    map.put("userName","zgl");
    map.put("userId",4);
    map.put("password","123456");
    userDao.addUser2(map);
    sqlSession.commit();
    sqlSession.close();
}

注意:map中的键值必须和SQL语句中的变量名对应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值