Mybatis之增删改查
在掌握Mybatis程序的创建步骤后,我们继续了解利用Mybatis进行增删改查。
有不明白Mybatis项目的同学建议先转到下方链接哦:
https://blog.csdn.net/weixin_45264992/article/details/115264613
Mybatis项目下,我们对数据库的操作变得十分简单,省去了大量的JDBC代码。且创建一个Mybatis项目后,我们需要对数据库操作仅仅需要对项目中三个文件代码进行修改即可。
1、接口文件
2、接口配置文件
3、测试类添加代码
直接上干货:
这里紧接着上面链接内容,如果对Mybatis完全不懂的朋友建议点击上面那个链接了解下Mybatis基本创建步骤。
1、在接口类新增方法:
package com.zm.mybatis.dao;
import com.zm.mybatis.pojo.User;
import java.util.List;
//接口类
public interface UserMapper {
// 查询所有对象
List<User> getUserList();
//通过id获取对象
User getUserById(int ID);
//插入
void addUser(User user);
//修改
void updateUser(User user);
//删除
void deleteUser(int ID);
}
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">
<!--映射 绑定一个Dao/Mapper接口-->
<mapper namespace="com.zm.mybatis.dao.UserMapper">
<!--id要对应接口类中方法名字,等同于继承类重写了接口方法。resultType返回了List<User>集合数据-->
<!--接口的实现由原来的创建一个类去实现接口,转变为现在用一个Mapper配置文件实现-->
<select id="getUserList" resultType="com.zm.mybatis.pojo.User">
select * from mybatis.user
</select>
<!--parameterType 为 参数类型-->
<select id="getUserById" parameterType="int" resultType="com.zm.mybatis.pojo.User">
select * from mybatis.user where id=#{ID}
</select>
<!--实体类User对象的属性可以直接取出来-->
<insert id="addUser" parameterType="com.zm.mybatis.pojo.User">
insert into mybatis.user (id,name,pwd) value (#{id},#{name},#{pwd})
</insert>
<update id="updateUser" parameterType="com.zm.mybatis.pojo.User">
UPDATE mybatis.user set name =#{name} ,pwd=#{pwd} where id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id=#{ID}
</delete>
</mapper>
3、测试类新增测试方法:
package com.zm.dao;
import com.zm.mybatis.dao.UserMapper;
import com.zm.mybatis.pojo.User;
import com.zm.mybatis.utils.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class UserDaoTest {
@Test
public void test(){
//第一步:获得SqlSession对象
SqlSession sqlSession= MyBatisUtils.getSqlSession();
try {
//执行sql语句
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = mapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
} finally {
//关闭sqlSession
sqlSession.close();
}
}
@Test
public void getUserById(){
SqlSession sqlSession=MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user=mapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}
@Test
public void addUser(){
SqlSession sqlSession=MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.addUser(new User(3,"王五","213453"));
sqlSession.close();
}
@Test
public void updateUser(){
SqlSession sqlSession=MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.updateUser(new User(3,"小白说java","456666"));
sqlSession.close();
}
@Test
public void deleteUser(){
SqlSession sqlSession=MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.deleteUser(3);
sqlSession.commit();//这里删除,需要将事务提交
sqlSession.close();
}
}
创作不易,留个赞吧~~~