準備工作
搭建MyBatis環境:https://blog.csdn.net/weixin_42193813/article/details/106707622
在搭建好環境之後,會有如下整體結構,而且已經實現了簡單的查詢功能,確保運行成功,以說明環境搭建正確
實現增刪改查
一、在接口中定義方法
- 兩個查詢功能:一個是查詢全部用戶,一個是根據ID查詢指定用戶
- 還有插入、修改、刪除其中某個用戶
package com.robot.dao;
import com.robot.pojo.User;
import java.util.List;
public interface UserMapper {
// 查詢全部用戶
List<User> getUserList();
// 根據ID查詢用戶
User getUserById(int id);
// 插入用戶
int addUser(User user);
// 修改用戶
int updateUser(User user);
// 刪除用戶
int deleteUser(int id);
}
二、編寫對應的xml文件
接口中的每個方法都對應xml中的一個實現功能
- id:對應接口中的方法名
- resultType:方法返回類型
- parameterType:參數類型
(注意:如果運行時出現亂碼問題,將此文件中的中文註釋刪掉)
<?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="com.robot.dao.UserMapper">
<!-- select all-->
<select id="getUserList" resultType="com.robot.pojo.User">
select * from mybatis.user
</select>
<!-- select one-->
<select id="getUserById" parameterType="int" resultType="com.robot.pojo.User">
select * from mybatis.user WHERE id = #{id}
</select>
<!-- add user-->
<insert id="addUser" parameterType="com.robot.pojo.User">
insert into mybatis.user (id, name, pwd) values (#{id}, #{name}, #{pwd})
</insert>
<!-- update user-->
<update id="updateUser" parameterType="com.robot.pojo.User">
update mybatis.user set name=#{name}, pwd=#{pwd} where id=#{id};
</update>
<!-- delete user-->
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id = #{id}
</delete>
</mapper>
三、測試
在測試類中分別測試每種功能
package com.robot.dao;
import com.robot.pojo.User;
import com.robot.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class UserDaoTest {
@Test
public void getUserListTest() {
// 1.獲得SqlSession對象
SqlSession sqlSession = MybatisUtils.getSqlSession();
// 2.執行SQL
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = userMapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
@Test
public void getUserByIdTest() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}
@Test
public void addUserTest() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
int res = userMapper.addUser(new User(4, "baby2", "123456"));
System.out.println(res);
// 提交事務
sqlSession.commit();
sqlSession.close();
}
@Test
public void updateUserTest() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
int res = userMapper.updateUser(new User(4, "mybaby", "125888"));
System.out.println(res);
sqlSession.commit();
sqlSession.close();
}
@Test
public void deleteUserTest() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.deleteUser(4);
sqlSession.commit();
sqlSession.close();
}
}
總結
首先搭建MyBatis的工作環境
然後實現增刪改查的功能共需三步
- 編寫接口方法
- 編寫對應xml中實現的功能
- 測試
記得核心配置文件要配置好,實體類要實現無參有參構造方法、setter/getter方法、toString方法