Mybatis(3)

46 阅读1分钟

增删改查

namespace

namespace中的包名要和Dao/Mapper接口的包名一致!

Select

选择,查询语句;

  • id : 就是对应的namespace中的方法名;
  • resultType:Sql语句执行的返回值!
  • parameterType : 参数类型!
  1. 编写接口
//根据ID查询用户
   User getUserById(int id);
  1. 编写对应的mapper中的sql语句
   <select id="getUserById" parameterType="int" resultType="cn.pojo.User">
           select * from mybatis.user where id = #{id}
   </select>
   

测试

       @Test
       public void getUserById() {
           SqlSession sqlSession = MybatisUtils.getSqlSession();
   
           UserMapper mapper = sqlSession.getMapper(UserMapper.class);
   
           User user = mapper.getUserById(1);
           System.out.println(user);
   
           sqlSession.close();
       }
   

3、Insert

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

4、update

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

Delete

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

注意点:

  • 增删改需要提交事务!
  • 手动提交

sqlSession.commit();

模糊查询

java代码执行的时候,传递通配符%

List<User> userList = userDao.getUserLike("胡%");

在Sql拼接中使用通配符!

select * from mybatis.user where name like "%"#{value}"%"