1 namespace
namespace中的包名要和Mapper接口的包名一致
2 select
选择,查询语句。
id:就是对应的namespace中的方法名;
resultType:SQL语句执行的返回值;
parameterType:参数类型;
步骤详解
编写接口;
public interface UserMapper {//根据ID查询用户User getUserById(int id);}
编写对应的Mapper中对的SQL语句; ```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">
<select id="getUserById" parameterType="int" resultType="xleixz.pojo.User">
select *
from mybatis.user
where id = #{id}
</select>
3. 测试。(**增删改需要提交事务**)
```java
//增删改需要提交事务
//测试插入
@Test
public void addUser() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.addUser(new User(4, "小雷", "123456"));
//提交事务
sqlSession.commit();
//关闭SqlSession
sqlSession.close();
}
3 insert
注意:增删改需要提交事务
<?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="xleixz.dao.UserMapper">
<!--对象中的属性可以直接取出来-->
<insert id="addUser" parameterType="xleixz.pojo.User">
insert into mybatis.user(id, name, pwd)
values (#{id}, #{name}, #{pwd})
</insert>
</mapper>
4 update
注意:增删改需要提交事务
<?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="xleixz.dao.UserMapper">
<update id="updateUser" parameterType="xleixz.pojo.User">
update mybatis.user
set name = #{name},
pwd = #{pwd}
where id = #{id}
</update>
</mapper>
5 delete
注意:增删改需要提交事务
<?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="xleixz.dao.UserMapper">
<delete id="deleteUser" parameterType="int">
delete from mybatis.user
where id = #{id}
</delete>
</mapper>
6 错误分析
标签不能匹配错,标签必须相对应,插入就插入,查询就查询。
resources文件夹下的xml中,mappers标签中的resource值中的不是.,而是/符号。
<!--每一个Mapper.xml都需要在Mybatis核心配置文件中注册!!-->
<mappers>
<mapper resource="xleixz/dao/UserMapper.xml"/>
</mappers>
程序配置文件,必须符合规则!!

NullPointerException空指针异常报错,原因是没有注册到资源!!
输出的xml文件中存在中文乱码问题!
Maven资源无法导出问题,解决——>在Maven中加入build,详情见Maven资源无法导出
