Mybatis学习(三)
第三章 Mybatis映射器方式的增删改查
前言
Mybatis原始的增删改查操作在第一、二章的时候已经介绍过了,本文重点介绍Mybatis映射器接口方式的增删改查。
在使用映射器接口方式的时候,建议安装Free Mybatis插件。
一、通过映射器接口实现添加
首先创建一个接口类UserMapper,子配置文件UserMapper.xml和主函数UserMapperTest,将子配置文件和主配置文件关联,如下所示:
(这里给出了两种写法,个人推荐使用第二种)
<!-- <mapper resource="com/colin/mapper/UserMapper.xml"/>-->
<!-- <mapper class="com.colin.mapper.UserMapper"/>-->
在接口类中定义一个insert方法:
void insertUser(String name, String password);
如果已经安装了Free Mybatis插件,会发现方法名报红,按下alt+回车,会自动跳转到子配置文件中,自动生成insert语句模板。(方法名不同,最终效果也不同)接下来填写sql语句:
<insert id="insertUser">
insert into user values (null,#{param1},#{param2})
</insert>
这次在写sql语句的时候,#{ }中会给出param1等的自动提示,按照提示输入,这里不能随意更改。
映射器的实现过程如下所示:
// 映射器接口方式的玩法
- 1、获取sqlSession实例
- 2、通过sqlSession实例获取接口实例
- 3、调用接口方法
- 4、手动提交
- 5、关闭资源
之后,我们回到主函数中,实现方法调用:
SqlSession sqlSession = null;
try {
sqlSession = new DBUtil().getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.insertUser("louzhaoyu", "0624");
sqlSession.commit();
} finally {
if (sqlSession != null) {
sqlSession.close();
}
}
控制台显示执行成功,刷新数据库,也能看到相应的数据。
二、查询,修改和删除展示
接口类:
void deleteById(int id);
User selectById(int id);
void updateUser(int id, String name, String password);
void updateUser1(User user);
List<User> selectAll();
子配置文件:
<update id="updateUser">
update user set name = #{param2}, password = #{param3} where id = #{param1}
</update>
<delete id="deleteById">
delete from user where id = #{fangshadouxing}
</delete>
<select id="selectAll" resultType="com.colin.bean.User">
select id, name, password from user
</select>
<select id="selectById" resultType="com.colin.bean.User">
select id, name, password from user where id = #{fanghdlkfjdslf}
</select>