CURD
1.namespace
namespace中的包名要和mapper 接口的包名一致!
<?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"> <!-- 原来我们都是编写具体的执行sql -->
<mapper namespace="com.yang.mapper.UserMapper">
</mapper>
2.select
选择,查询语句;
-
id : 就是对应的namespace中的方法名;
-
resultType:Sql语句执行的返回值!
-
parameterType : 参数类型!
-
1.编写接口,如果多个参数查询,需加注解
User selectById(int id);
User selectByUsernamePwd(@Param("username")String username,@Param("pwd")String pwd);
- 2.编写对应的mapper中的sql语句
<select id="getUserList" resultType="com.yang.pojo.User">
select * from user;
</select>
<select id="selectByUsernamePwd" resultType="com.yang.pojo.User">
select * from user where name=#{username} and pwd =#{pwd}
</select>
- 3.测试
SqlSession session = MyBatisUtils.getSession();
UserMapper mapper = session.getMapper(UserMapper.class);
底下用mapper调方法
增删改,测试时需要提交事务,session.commit
- 1.Insert
<insert id="addUser" parameterType="com.yang.pojo.User">
insert into user (id,`name`,pwd) values (#{id},#{name},#{pwd});
</insert>
- 2.update
<update id="updateUser" parameterType="com.yang.pojo.User">
update `user` set `name` =#{name},pwd=#{pwd} where id=#{id};
</update>
- 3.Delete
<delete id="deleteByID" parameterType="com.yang.pojo.User">
delete from user where id = #{id};
</delete>
4.错误分析
- resource 绑定mapper,需要使用路径!
- 程序配置文件必须符合规范!
- NullPointerException,没有注册到资源!
- 输出的xml文件中存在中文乱码问题!
- maven资源没有导出问题!