Mybatis_第二节:CRUD(增删改查)

_
***配套文档:***↓↓↓
mybatis – MyBatis 3 | 简介

二、CRUD(增删改查)

实现功能需要改变的文件(接第一节结尾处)

  • UserMapeer.java接口
  • UserMapper.xml配置文件
  • 测试类

1、mapper.xml参数

  • namespace中包名和Mapper接口的包名一致

  • id:对应namespace中方法名

  • parameterType:参数类型

  • resultType:Sql语句执行的返回值

2、select

  • 编写接口
//    按id查询用户
    User getUserById(int id);
  • 编写对应mapper中sql语句
<select id="getUserById" parameterType="int" resultType="com.pf.pojo.User">
    select * from mybatis.user where id = #{id}
</select>
  • 测试
//    按id查询用户
    @Test
    public void getUserById(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.getUserById(1);
        System.out.println(user.getName());

        sqlSession.close();
    }

3、insert

增删改需要提交事务

//提交事务
sqlSession.commit();
  • 编写接口
//    添加用户
    int addUser(User user);
  • 编写对应mapper中sql语句
<!--对象中的属性可以直接取出-->
    <insert id="addUser" parameterType="com.pf.pojo.User">
        insert into mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd})
    </insert>
  • 测试
/**增删改需要提交事务*/
//    添加用户
    @Test
    public void addUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
       int res = userMapper.addUser(new User(4,"昊丹","123456"));
        if (res >0){
            System.out.println("插入成功");
        }
        //提交事务
        sqlSession.commit();
        sqlSession.close();
    }

4、update

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

其他代码:略

5、delete

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

其他代码:略

6、使用map封装对象

  • 编写接口
//    使用map封装对象添加用户
    int addUser2(Map<String,Object> map);
  • 编写对应mapper中sql语句
<insert id="addUser2" parameterType="map">
    insert into mybatis.user (id,pwd) values (#{userid},#{userpwd})
</insert>
  • 测试
//    添加用户(map对象)
@Test
public void addUser2(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();

    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    HashMap<String,Object> map = new HashMap<String, Object>();
    map.put("userid",6);
    map.put("userpwd","123456");

    int res = userMapper.addUser2(map);
    if (res >0){
        System.out.println("插入成功2");
    }
    //提交事务
    sqlSession.commit();
    sqlSession.close();
}

7、模糊查询

模糊查询需要"通配符%%"

​ 方法一:在java代码中传递通配符:userMapper.getUserByLike("%李%");

​ 方法二:在sql拼接中使用通配符:where name like “%”#{value}"%"

  • 编写接口
//    模糊查询
    List<User> getUserByLike(String like);
  • 编写对应mapper中sql语句
<select id="getUserByLike" resultType="com.pf.pojo.User">
    select * from mybatis.user where name like "%"#{value}"%"
</select>
  • 测试
//    模糊查询
    @Test
    public void getUserByLike(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        List<User> userLike = userMapper.getUserByLike("李");
        for(User user : userLike){
            System.out.println(user);
        }
        
        sqlSession.close();
    }

👆👆👆以上实现mybatis简单的增删改查功能

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值