CRUD操作
固定操作
1、编写接口
2、编写接口对应的SQL配置文件,一定要确保配置文件和SQL的正确性
3、测试
1、Slelect查询操作
上一篇我们在测试时就是使用的select操作!
测试带参数的查询操作
1、接口中编写方法
User selectById(int id);
2、配置文件
Mapper.xml的配置
<!--id:方法名
parameterType:参数类型
resultType:返回值类型
-->
<select id="selectById" parameterType="int" resultType="User">
select * from user where id = #{id};
</select>
mybatis-config.xml的配置
<mappers>
<mapper resource="com/star/mapper/UserMapper.xml"/>
</mappers>
3、测试
import com.star.mapper.UserMapper;
import com.star.pojo.User;
import com.star.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
public class Test {
@org.junit.Test
public void testSelect() {
SqlSession session = MybatisUtils.getSession();
UserMapper mapper = session.getMapper(UserMapper.class);
User user1 = mapper.selectById(1);
System.out.println(user1);
}
}
测试结果:
测试带多个参数的操作
1、接口中添加方法
// 由于要多个参数,需要加注解@Param("参数名")
User selectByUsernamePwd(@Param("username") String username, @Param("pwd") String pwd);
2、配置文件
<select id="selectByUsernamePwd" resultType="User">
select * from user where `name` = #{username} and pwd = #{pwd}
</select>
3、测试
User users2 = mapper.selectByUsernamePwd("张三", "123456");
System.out.println(users2);
测试结果:
2、Insert添加操作
1、接口中添加方法
int addUser(User user);
2、配置文件
<insert id="addUser" parameterType="User">
insert into user(id,`name`,pwd) value (#{id},#{name},#{pwd})
</insert>
3、测试
int res = mapper.addUser(new User(5, "wyx", "123456"));
session.commit();
if(res > 0){
System.out.println("添加成功!");
}
测试结果:
3、Update更新操作
1、接口中添加方法
int updateUser(User user);
2、配置文件
<update id="updateUser" parameterType="User">
update user set `name` = #{name},pwd = #{pwd} where id = #{id};
</update>
3、测试
int res = mapper.updateUser(new User(5, "马七", "456789"));
session.commit();
if(res > 0){
System.out.println("修改成功!");
}
测试结果:
4、delete删除操作
1、接口中添加方法
int deleteUserById(int id);
2、配置文件
<delete id="deleteUserById" parameterType="int">
delete from user where id = #{id};
</delete>
3、测试
int res = mapper.deleteUserById(5);
session.commit();
if(res > 0){
System.out.println("删除成功!");
}
测试结果: