Mybatis实现CRUD

青春壹個敷衍的年華 提交于 2020-08-10 13:35:35

准备工作

见上一篇博客mybatis入门

CRUD


  • dao接口public boolean addUser(User user);
    dao中.xml映射

<insert id="addUser" parameterType="cn.edu.hbue.wmp.entity.User">
        insert into mybatis.user(id, userName, pwd) values(#{id},#{userName},#{pwd})
    </insert>

也可以改为如下,只是在配置文件中要加入<typeAliases> 起别名

<insert id="addUser" parameterType="User">
        insert into mybatis.user(id, userName, pwd) values(#{id},#{userName},#{pwd})
    </insert>

注意:增删改在测试时要提交事务

 @Test
    public void addUserTest(){


        //1.获取sqlSession对象
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = new User(11,"小刘","123456");
        userMapper.addUser(user);
        //提交事务
        sqlSession.commit();
        //关闭sqlSession
        sqlSession.close();


    }
<delete id="deleteUser" parameterType="int">
        delete from mybatis.user where id = #{id}
    </delete>
 <update id="updateUser" parameterType="cn.edu.hbue.wmp.entity.User">
        update mybatis.user
        set userName = #{userName},pwd = #{pwd}
        where id = #{id};
    </update>

  • 普通查询:见上篇文章:mybatis入门
    模糊查询:

接口


    //模糊查询
    List<User> getUserLike(String value);

xml映射

 <select id="getUserLike" resultType="User">
        select * from mybatis.user where userName like #{value}
    </select>

测试类

 List<User> user = userMapper.getUserLike("%刘%");

万能map

假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当考虑使用Map!

boolean addUser2(Map<String,Object> map);
 <!--对象中的属性,可以直接取出来    传递map的key-->
    <insert id="addUser" parameterType="map">
        insert into mybatis.user (id, pwd) values (#{userid},#{passWord});
    </insert>
 Map<String, Object> map = new HashMap<String, Object>();

        map.put("userid",5);
        map.put("passWord","2222333");

        mapper.addUser2(map);

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!