增删改查
namespace
namespace中的包名要和Dao/Mapper接口的包名一致!
Select
选择,查询语句;
- id : 就是对应的namespace中的方法名;
- resultType:Sql语句执行的返回值!
- parameterType : 参数类型!
- 编写接口
//根据ID查询用户
User getUserById(int id);
- 编写对应的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}"%"