之前我们已经对MyBatis的环境搭建和工具类优化以及三种使用方式有所了解
之前我们只是以添加为例来进行的测试
下面我们就来编写一下增删改查
Namespace先用User了,不使用接口代理的方式,这样我们能使用一下SqlSession中原生的方法是那些
User.xml
<mapper namespace="User">
<insert id="add" parameterType="User">
insert into t_user
(username,password,nickname,type) values
(#{username},#{password},#{nickname},#{type})
</insert>
<delete id="delete" parameterType="int">
delete from t_user where id =
#{id}
</delete>
<update id="update" parameterType="User">
update t_user set password =
#{password} , nickname=#{nickname} ,type=#{type} where id = #{id}
</update>
<select id="load" parameterType="int" resultType="User">
select * from
t_user where id = #{id}
</select>
</mapper>
UserDao实现类
添加
@Override
public void add(User user) {
SqlSession session = null;
try {
session = MyBatisUtil.getSession();
session.insert("User.add", user);
session.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
MyBatisUtil.closeSession(session);
}
}
删除
@Override
public void delete(int id) {
SqlSession session = null;
try {
session = MyBatisUtil.getSession();
session.delete("User.delete", id);
session.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
MyBatisUtil.closeSession(session);
}
}
更新
@Override
public void update(User user) {
SqlSession session = null;
try {
session = MyBatisUtil.getSession();
session.update("User.update", user);
session.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
MyBatisUtil.closeSession(session);
}
}
查询
@Override
public User load(int id) {
SqlSession session = null;
User user = null;
try {
session = MyBatisUtil.getSession();
user = session.selectOne("User.load", id);
session.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
MyBatisUtil.closeSession(session);
}
return user;
}