第一天——Mybatis增删改
在接口映射中新增方法,UserMapper
public interface UserMapper {
List<User> getUserList();
User getUserById(int id);
void addUser(User user);
void delUser(int id);
}
在UserMapper.xml文件中增加标签
<?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">
<mapper namespace="com.example.Dao.UserMapper">
<select id="getUserList" resultType="com.example.pojo.User">
select * from mybatis.user;
</select>
<select id="getUserById" resultType="com.example.pojo.User" parameterType="int">
select * from mybatis.user where id = #{id};
</select>
<insert id="addUser" parameterType="com.example.pojo.User">
insert into mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd});
</insert>
<delete id="delUser" parameterType="int">
delete from mybatis.user where id=${id};
</delete>
</mapper>
标签属性解析
| 属性 | 值的描述 |
|---|---|
| id | 接口的方法名 |
| resultType | 返回结果对象的全类名 |
| parameterType | 参数对象的全类名 |
| #{XX}. | XX为SQL的字段名 (忽略.) |
如果出现异常
Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 9; 1 字节的 UTF-8 序列的字节 1 无效。
因为该XML文件中的注释导致乱码了,要么修改encoding要么删除中文注释
对于上述的增删改操作。要求手动提交事务。
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.addUser(new User(4,"老六","55555"));
sqlSession.commit();
sqlSession.close();