首页 > 其他分享 >3.增删改查的实现(1)

3.增删改查的实现(1)

时间:2023-11-06 17:35:28浏览次数:25  
标签:mapper 实现 改查 UserMapper sqlSession user 增删 id User

3.1
只需要更改接口,配置文件和测试类,工具类和实体类不用再变。

写接口---在UserMapper中

写sql语句---UserMapper.xml中

写测试类---UserDaoTest中

namespace中的包名要和接口中的包名一致

注意事项

增删改要提交事务 sqlSession.commit();

标签不要匹配错

核心配置文件必须严格正确

3.2
xml中的语句:

id:对应namespace中的方法名

resultType:SQL语句的返回值

parameterType:要传的参数的类型

 

编写接口

    //查询所有用户
    List<User> getUserList();
    //根据id查询用户
    User getUserById(int id);
    //插入用户
    int addUser(User user);
    //修改用户
    int updateUser(User user);
    //删除用户
    int deleteUser(int id);
编写配置文件(写SQL语句)

<mapper namespace="com.mu.dao.UserMapper">
    <select id="getUserList" resultType="com.mu.pojo.User">
        select * from user
    </select>
​
    <select id="getUserById" resultType="com.mu.pojo.User" parameterType="int">
        select * from user where id = #{id}
    </select>
​
    <insert id="addUser" parameterType="com.mu.pojo.User">
        insert into mybatis.user(id,name,pwd) values(#{id},#{name},#{pwd});
    </insert>
​
    <update id="updateUser" parameterType="com.mu.pojo.User">
         update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id};
    </update>
​
    <delete id="deleteUser" parameterType="int">
        delete from user where id = #{id};
    </delete>
</mapper>
编写类

package com.mu.dao;
import com.mu.pojo.User;
import com.mu.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();
        //方式一:getMapper
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> userList = mapper.getUserList();
​
        for (User user : userList) {
            System.out.println(user);
        }
        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);
        int res = mapper.addUser (new User(4,"aaa","aaa"));
        sqlSession.commit();
        sqlSession.close();
    }
@Test
    public void updateUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int res = mapper.updateUser(new User(4,"bbb","bbb"));
        sqlSession.commit();
        sqlSession.close();
    }
​
    @Test
    public void deleteUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int res = mapper.deleteUser(4);
        sqlSession.commit();
        sqlSession.close();
    }
}

 

标签:mapper,实现,改查,UserMapper,sqlSession,user,增删,id,User
From: https://www.cnblogs.com/muzhaodi/p/17813236.html

相关文章

  • 使用Feign接口实现文件上传的解决方案
    原文链接:使用Feign接口实现文件上传的解决方案一般的情况下,后端有个微服务,暴露出一个文件上传的restful接口给前端,前端调用该接口获取上传后的链接以及osskey值完成上传。假设提供restful接口的这个服务叫做A,现在有个微服务B有个本地文件,需要将本地文件调用A文件文件上传接口上传......
  • picgo搭配github实现永久图床
    picgo简介picgo是一个图片上传工具,当我们在里面配置好存储源时,就可以使用该工具实现图片上传。官网:Releases·Molunerfinn/PicGo(github.com)如何配置picogo首先我们在github里面新建一个仓库,用来存储我们的图片记录下这些关键字符串。随后,我们去获取github的token,方便......
  • vue3.0 + ts 实现上传工厂(oss与cos)
    概述将上传基类命名为MOS(MineObjectStorage)mos.ts代码import{MosType}from'./mosConfig'import{Loading}from'../loading'import{typeBinaryFile,typeMosFile}from'./fileUtil'importtype{PathTemplate}from'./pathTempla......
  • Golang使用grpc实现token拦截
    上一篇简单使用了grpcGolang简单使用grpcserverpackagemainimport( "fmt" "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" "google.golang.......
  • 在Python中获取飞书群消息,你可以使用`feishu-python-sdk`这个库¹。这是一个用于和飞
    在Python中获取飞书群消息,你可以使用`feishu-python-sdk`这个库¹。这是一个用于和飞书开放平台交互的Python库,它支持同步调用和异步调用,实现了订阅事件和卡片交互回调¹。首先,你需要安装这个库,可以使用pip进行安装:```pythonpipinstallfeishu-python-sdk```然后,你可以使用以......
  • Golang实现grpc单向认证
    接着上篇文章写Golang简单使用grpcgolang1.15+版本上,用gRPC通过TLS实现数据传输加密时,会报错证书的问题:rpcerror:code=Unavailabledesc=connectionerror:desc="transport:authenticationhandshakefailed:x509:certificateisnotvalidforanynames,but......
  • 通过mybatis-plus的自定义拦截器实现控制 mybatis-plus的全局逻辑删除字段的控制 (修改
    需求:过滤部分请求不实现mybatis-plus的逻辑删除看到网上关于mybatis-plus的自定义拦截器的文章有的少想了想自己写了一篇欢迎参考指正通过springboot的拦截器在请求进来时标记需要实现的需求的逻辑importlombok.Data;@DatapublicclassSyncBo{privateBoolean......
  • 一种Mysql和Mongodb数据同步到Elasticsearch的实现办法和系统
    本文分享自天翼云开发者社区《一种Mysql和Mongodb数据同步到Elasticsearch的实现办法和系统》,作者:l****n核心流程如下: 核心逻辑说明:MySQLBinlog解析:首先,从MySQL的二进制日志(Binlog)中解析出表名。这一步骤非常关键,因为我们只关注特定表的数据变更。进一步,我们检查Binlog中......
  • BAT 中实现延时
    举个例子,我们要延时5秒打开gdh.txt这个文件,可以用以下几个方法:方法一:ping缺点:时间精度为1秒,不够精确@echooff@ping127.0.0.1-n6>nulstartgdh.txt方法二:choice优点:时间精确,CPU占用低,是最佳选择@echooffchoice/t5/dy/n>nulstartgdh.txt......
  • 大型语言模型可以通过情绪刺激理解并实现增强
    作者:爱可可-爱生活链接:https://zhuanlan.zhihu.com/p/665119618来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要点:探索了大型语言模型是否能理解和利用心理情感刺激来增强自身,这是人类智能的一个重要方面。提出“EmotionPrompt”方法,将原始......