CRUD.
目录结构

1、namespace.
UserMapper.xml
的namespace
中的包名与Dao/mapper接口
的包名一致
<mapper namespace="dao.UserMapper">
2、select.
选择,查询语句
id
:对应方法名resultType
:sql语句执行的返回值parameterType
:参数类型- 对应标签:
select
<select id="getUserList" resultType="pojo.User">
select * from mybatis.user;
</select>
<select id="getUserById" resultType="pojo.User" parameterType="int">
select * from mybatis.user where id = #{id};
</select>
3、insert.
插入
id
:对应方法名parameterType
:参数类型- 对应标签:
insert
<insert id="addUser" parameterType="pojo.User">
<!-- #{name}需要与User.java字段名一致,同时与数据库属性名一致 -->
insert into mybatis.user(name,pwd) values (#{name},#{pwd});
</insert>
4、update.
更新
id
:对应方法名parameterType
:参数类型- 对应标签:
update
<update id="updateUserPwd" parameterType="pojo.User">
update mybatis.user set pwd=#{pwd} where id=#{id};
</update>
5、delete.
删除
id
:对应方法名parameterType
:参数类型- 对应标签:
delete
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id=#{id};
</delete>
6、编写流程.
在
UserMapper.java
添加相应的方法在
UserMapper.xml
添加相应的标签以及SQL语句(注意namespace
)在
mybatis-config.xml
中绑定UserMapper.xml
在
test/java
中编写UserMapperTest
测试类//测试类内容 public class UserMapperTest { @Test public void getUserList(){ try(SqlSession sqlSession = MybatisUtils.getSqlSession();) { UserMapper userDao = sqlSession.getMapper(UserMapper.class); List<User> userList = userDao.getUserList(); userList.stream().forEach(System.out::println); // return userList; } } @Test() public void getUserById(/*int id*/){ try(SqlSession sqlSession = MybatisUtils.getSqlSession();) { UserMapper userDao = sqlSession.getMapper(UserMapper.class); int id = 2; User user = userDao.getUserById(id); System.out.println(user); // return user; } } @Test public void addUser(){ try(SqlSession sqlSession = MybatisUtils.getSqlSession();) { UserMapper userDao = sqlSession.getMapper(UserMapper.class); User user = new User("流柚","liuyou"); int num = userDao.addUser(user); //增删改一定要提交 不然 虽然 num > 0 但是 数据库中的数剧不会有任何变化 sqlSession.commit(); System.out.println(num); } } @Test public void updateUserPwd(){ try(SqlSession sqlSession = MybatisUtils.getSqlSession();) { UserMapper userDao = sqlSession.getMapper(UserMapper.class); User user = new User(1,null,"lmk"); int num = userDao.updateUserPwd(user); sqlSession.commit(); System.out.println(num); } } @Test public void deleteUser(){ try(SqlSession sqlSession = MybatisUtils.getSqlSession();) { UserMapper userDao = sqlSession.getMapper(UserMapper.class); int num = userDao.deleteUser(3); sqlSession.commit(); System.out.println(num); } } }
7、注意.
增删改操作是需要
SqlSession.commit();
提交的,不然无法对数据库进行修改(尽管返回的影响记录数大于0)标签不要匹配错
排错,需从下往上读