使用mybatis后在操作上比JDBC要方便很多,只要写好实体类(User)工具类(MybatisUtils)mybatis配置文件(mybatis-config.xml)每次加入新的sql操作时只需要修改两个地方:
1.dao层的接口
2.和到层接口对应的.xml文件(只需要在namespace中写入操作方法即可)
以上都拿下图举例
操作逻辑
Dao层
接口UserMapperà UserMapper.xml(namespace和UserMapper是绑定关系)
- 使用junit(单元测试)时先要拿到SqlSession
MybatisUtils.getSqlSession
- 建一个UserMapper的对象(拿到UserMapper接口
sqlSession.getMapper(UserMapper.class);)
- 然后就可以调用到接口方法了mapper.addUser 如果是插入和更新操作要有一个逻辑判断
if (res > 0) { System.out.println("插入成功!"); }
- 最后增删改操作需要提交事务
(sqlSession.commit())
- 最后记得关闭流
(sqlSession.close());
在namespace中的增删改操作
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace=绑定一个对应的Dao/mapper接口-->
<mapper namespace="com.jian.dao.UserMapper">
<!-- 查-->
<select id="getUserList" resultType="com.jian.pojo.User">
select * from mybatis.user
</select>
<!-- 根据ID查-->
<select id="getUserById" parameterType="arraylist" resultType="com.jian.pojo.User">
select * from mybatis.user where id = #{id}
</select>
<!-- 增加-->
<insert id="addUser" parameterType="arraylist">
insert into mybatis.user (id,name,pwd) value (#{id},#{name},#{pwd})
</insert>
<!-- <insert id="addUser" parameterType="map">-->
<!-- insert into mybatis.user(id,pwd) values (#{userid},#{passWord});-->
<!-- </insert>-->
<!-- 根据ID修改-->
<update id="updateUser" parameterType="com.jian.pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id = #{id};
</update>
<!-- 根据ID删除-->
<delete id="delectUserById" parameterType="com.jian.pojo.User">
delete from mybatis.user where id = #{id};
</delete>
</mapper>
日常学习分享,大家多多指正。