上一篇博文第一个MyBatis程序中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作。本文中使用到的测试环境是上一篇博文中的测试环境。
编写interface
public interface UserDao {
/**执行查询操作,将查询结果自动封装成List<User>返回*/
List<User> getUserList();
/**根据ID查询用户,将查询结果自动封装成pojo.User返回*/
User getUserById(int id);
/**insert*/
int addUser(User user);
/**update*/
int updateUser(User user);
/**delete*/
int deleteUser(int id);
}
模糊查询
/**模糊查询*/
List<User> findUserByName(String value);
getUserById:映射xml文件中的statement中的id就要保持一致
返回值User:映射文件中的statement的resultType就要为User类型
参数值id:映射文件中的statement的parameterType就要为int类型
也可以使用全限定名java.lang.Integer,int是别名
mybatis自动帮我们进行了转换
Integer和int的区别
Integer是int的包装类, int是基本数据类型
最主要的区别就是这句 一个是基本数据类型, 一个是类,
但其实其中隐含的细节很多,比如:
- Integer的默认初始值是null,而int的默认初试值是0。
- Integer变量必须先实例,int变量则可以直接使用
- 因为Integer是包装的类, 所以自带很多方法可以使用, 而int是基本数据类型只能做一些基本的±*/=等操作,当二者交叉就会出现很多问题,
定义sql映射xml文件
<select id="findUserByName" resultType="com.kuang.pojo.User" parameterType="string" >
select * from mybatis.user where name LIKE "%"#{value}"%"
</select>
<select id="getUserById" parameterType="java.lang.Integer"<