Mybatis增删改查CURD
2026/6/7 10:35:50 网站建设 项目流程

CURD

namespace

namespace 中的包名要和 Dao/Mapper 接口的包名一致!

编程思路

编写接口

UserMapper.java

importjava.util.List;publicinterfaceUserMapper{// 查询全部用户List<user>getUserList();// 根据ID查询用户usergetUserById(intid);// 插入用户intaddUser(user user);// 更新用户intupdateUser(user user);// 删除用户intdeleteUser(intid);}

编写Mapper.xml中的sql语句

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--namespcae=绑定一个对应的Dao/Mapper接口--><mappernamespace="com.cike.dao.UserMapper"><!--<select id="对应UserMapper的方法" resultType="实体类">--><selectid="getUserList"resultType="com.cike.pojo.user"><!--执行SQL-->select * from mybatis.user</select><selectid="getUserById"parameterType="int"resultType="com.cike.pojo.user">select * from mybatis.user where id = #{id}</select><insertid="addUser"parameterType="com.cike.pojo.user">insert into mybatis.user(id, name, pwd) values (#{id}, #{name}, #{pwd})</insert><updateid="updateUser"parameterType="com.cike.pojo.user">update mybatis.user set name=#{name},pwd=#{pwd} where id =#{id};</update><deleteid="deleteUser"parameterType="com.cike.pojo.user">delete from mybatis.user where id =#{id};</delete></mapper>

测试

publicclassUserMapperTest{@Testpublicvoidtest(){//第一步:获得SqlSession对象SqlSessionsqlSession=MybatisUtils.getSqlSession();//执行SQLUserMapperuserMapper=sqlSession.getMapper(UserMapper.class);// 获得对象List<user>userList=userMapper.getUserList();for(user user:userList){System.out.println(user);}// 关闭SqlSessionsqlSession.close();}@TestpublicvoidgetUserById(){SqlSessionsqlSession=MybatisUtils.getSqlSession();UserMappermapper=sqlSession.getMapper(UserMapper.class);user userById=mapper.getUserById(1);System.out.println(userById);sqlSession.close();}/*增删改查需要提交事务*/@TestpublicvoidaddUser(){SqlSessionsqlSession=MybatisUtils.getSqlSession();UserMappermapper=sqlSession.getMapper(UserMapper.class);intres=mapper.addUser(newuser(3,"cike_y","123456"));if(res>0){System.out.println("成功插入"+res+"条数据");}sqlSession.commit();sqlSession.close();}@TestpublicvoidupdateUser(){SqlSessionsqlSession=MybatisUtils.getSqlSession();UserMappermapper=sqlSession.getMapper(UserMapper.class);inti=mapper.updateUser(newuser(1,"admin","123456"));System.out.println(i);if(i>0){System.out.println("成功更新"+i+"条数据");}sqlSession.commit();sqlSession.close();}@TestpublicvoiddeleteUser(){SqlSessionsqlSession=MybatisUtils.getSqlSession();UserMappermapper=sqlSession.getMapper(UserMapper.class);inti=mapper.deleteUser(3);if(i>0){System.out.println("成功删除"+i+"条数据");}sqlSession.commit();sqlSession.close();}}

SELECT

Mapper.xml 中的代码

<selectid="getUserById"parameterType="int"resultType="com.cike.pojo.user">select * from mybatis.user where id = #{id}</select>

接口中的代码

usergetUserById(intid);

测试方法

@TestpublicvoidgetUserById(){SqlSessionsqlSession=MybatisUtils.getSqlSession();UserMappermapper=sqlSession.getMapper(UserMapper.class);user userById=mapper.getUserById(1);System.out.println(userById);sqlSession.close();}

INSERT

Mapper.xml 中的代码

<insertid="addUser"parameterType="com.cike.pojo.user">insert into mybatis.user(id, name, pwd) values (#{id}, #{name}, #{pwd})</insert>

接口中的代码

<insert id="addUser"parameterType="com.cike.pojo.user">insert into mybatis.user(id,name,pwd)values(#{id},#{name},#{pwd})</insert>

测试方法

@TestpublicvoidaddUser(){SqlSessionsqlSession=MybatisUtils.getSqlSession();UserMappermapper=sqlSession.getMapper(UserMapper.class);intres=mapper.addUser(newuser(3,"cike_y","123456"));if(res>0){System.out.println("成功插入"+res+"条数据");}sqlSession.commit();sqlSession.close();}

UPDATE

Mapper.xml 中的代码

<updateid="updateUser"parameterType="com.cike.pojo.user">update mybatis.user set name=#{name},pwd=#{pwd} where id =#{id};</update>

接口中的代码

intupdateUser(user user);

测试方法

@TestpublicvoidupdateUser(){SqlSessionsqlSession=MybatisUtils.getSqlSession();UserMappermapper=sqlSession.getMapper(UserMapper.class);inti=mapper.updateUser(newuser(1,"admin","1234567"));System.out.println(i);if(i>0){System.out.println("成功更新"+i+"条数据");}sqlSession.commit();sqlSession.close();}

DELETE

Mapper.xml 中的代码

<deleteid="deleteUser"parameterType="com.cike.pojo.user">delete from mybatis.user where id =#{id};</delete>

接口中的代码

intdeleteUser(intid);

测试方法

@TestpublicvoiddeleteUser(){SqlSessionsqlSession=MybatisUtils.getSqlSession();UserMappermapper=sqlSession.getMapper(UserMapper.class);inti=mapper.deleteUser(3);if(i>0){System.out.println("成功删除"+i+"条数据");}sqlSession.commit();sqlSession.close();}

注意点

  • 增删改(没有查)需要提交事务
  • sqlSession.close();释放资源

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询