CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD。
它代表创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。
项目结构
整体使用流程
- 编写接口
- 编写对应的mapper.xml中的SQL语句
- 编写测试类
- 涉及insert、 update 、delete的操作一定要进行commit,否则不生效
增删改查操作
编写接口:UserMapper.java
package com.free.dao;
import com.free.pojo.User;
import java.util.List;
public interface UserMapper {
//获取用户列表
public List<User> getUserList();
//根绝id获取用户信息
public User getUserById(int uid);
//插入数据
public int addOneUser(User user);
//更新用户信息
public boolean updateUser(User User);
//删除用户
public boolean deleteUser(int uid);
}
编写对应的xml文件:UserMapper.xml
<?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">
<!--namespace 绑定一个对应的DAO/Mapper接口-->
<mapper namespace="com.free.dao.UserMapper">
<!-- id:接口内的方法 resultType:返回的实体类-->
<select id="getUserList" resultType="com.free.pojo.User">
select * from user limit 10
</select>
<!--根绝id获取用户详情-->
<select id="getUserById" parameterType="int" resultType="com.free.pojo.User">
select * from user WHERE id = #{uid}
</select>
<!--插入新增用户,对象中的属性可以直接取出来-->
<insert id="addOneUser" parameterType="com.free.pojo.User">
INSERT INTO user (username, sex, company) VALUES (#{username}, #{sex}, #{company})
</insert>
<!--更新用户信息-->
<update id="updateUser" parameterType="com.free.pojo.User">
update user SET username=#{username},sex=#{sex} WHERE id=#{id}
</update>
<!--删除用户-->
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>
编写测试类: UserMapperTest.java
package com.free.dao;
import com.free.pojo.User;
import com.free.utils.DB;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class UserMapperTest {
@Test
public void getUserListT(){
SqlSession connect = DB.getConnect();
//方式一 getMapper
UserMapper user = connect.getMapper(UserMapper.class);
List<User> userList = user.getUserList();
for(User item: userList){
System.out.println(item);
}
connect.close();
}
@Test
public void getUserByIdT(){
SqlSession connect = DB.getConnect();
//执行查询
UserMapper userMapper = connect.getMapper(UserMapper.class);
User user = userMapper.getUserById(1);
System.out.println(user);
connect.close();
}
@Test
public void addOneUserT(){
SqlSession connect = DB.getConnect();
UserMapper mapper = connect.getMapper(UserMapper.class);
User user = new User();
user.setUsername("王二萌2");
user.setSex(3);
user.setCompany("南海家园");
mapper.addOneUser(user);
//增删改一定要提交事务
connect.commit();
connect.close();
}
@Test
public void updateUserT(){
SqlSession connect = DB.getConnect();
UserMapper mapper = connect.getMapper(UserMapper.class);
User user = new User(596147, "王三萌", 2, "人瑞");
System.out.println(mapper.updateUser(user));
connect.commit();;
connect.close();
}
@Test
public void deleteUserT(){
SqlSession connect = DB.getConnect();
UserMapper mapper = connect.getMapper(UserMapper.class);
boolean bool = mapper.deleteUser(596146);
System.out.println(bool);
connect.commit();
connect.close();
}
}