共同点
- 导入坐标
- 编写实体类和数据表
- 编写sql语句所在的配置文件(增删改查的不同主要体现在这)
- 编写核心的配置文件
- 测试:更新操作需要提交事务
注意事项
- 测试时,mybatis事务是不自动提交的,需要使用sqlSession手动提交
- 查询时可以不提交事务,但是更新必须提交事务才会将修改体现在表中
- 不同的sql操作对应不同的标签,但是每一个标签都必须提供id属性,因为mybatis是通过命名空间.id来查找sql
查询
1.查询的标签是select,需要写返回的实体的类型的全类名
2、如果是条件查询,也可以有parameterType属性。
3、sql语言中的占位符使用#{实体的属性名(是实体的属性名,不是表名)}
4、如果是查询一个,可以使用SqlSession的selectOne(String s,
Object o)方法
添加操作
1.添加的标签是insert,添加时需要提供实体类型,所以此标签有一个属性:parameterType,属性值是实体的类的全类名
2.sql语言中的占位符使用#{实体的属性名(是实体的属性名,不是表名)}
3.测试时需要手动提交事务
修改操作
1.配置文件的标签是update,需要提供参数类型,一般是实体
2.占位符同添加操作
删除操作
1.配置文件的标签是delete,需要提供参数类型,表示需要根据属性删除。如果是基本数据类型,则参数类型写包装类的全类名
2.当参数只有一个时,占位符中的属性名可以任意写
<?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="userMapper">
<select id="findAll" resultType="com.itheima.domain.User">
select * from user
</select>
<insert id="save" parameterType="com.itheima.domain.User">
insert into user values(#{id},#{userName},#{password});
</insert>
</mapper>