1.namespace
namespace的包名和Dao/mapper接口的包名一致。
2.CRUD
id:就是对应的namespace中的方法名;
resultType:Sql语句执行的返回值!
parameterType:参数类型
编写接口和测试差不多一样,不同大部分在与mapper中sql语句。
1、select
选择,查询语句:select
1.编写接口
//根据ID查询用户
User getUserById(int id);
2.编写对应的mapper中的sql语句
<select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User">
select * from mybatis.user where id = #{id}
</select>
3.测试
@Test
public void setUserById(){
SqlSession sqlSession=MybatisUntils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1);
System.out.println(user);
sqlSession.close();
2.Insert
注意:
mysql1062错误: Duplicate entry ‘…’ for key 'PRIMARY
问题所在:添加的过程中,主键不能重复
<!-- 对象中的属性,可以直接取出来-->
<insert id="addUser" parameterType="com.kuang.pojo.User">
insert into mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd});
</insert>
3.update
<update id="updateUser" parameterType="com.kuang.pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} = where id = #{id};
</update>
4.Delete
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id =#{id};
</delete>