当前位置: 首页 > article >正文

B站狂神说+mybatis增删改查操作

文章目录

      • 1.新增mapper接口
      • 2.修改mapper接口同级目录下的xml文件(UserMapper.xml)
      • 3.编写src同级别目录下的test文件
      • 4.万能的Map

1.新增mapper接口

package com.aloha.dao;

import com.aloha.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);
}

2.修改mapper接口同级目录下的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.aloha.dao.UserMapper">
    <!--select查询语句-->
    <select id="getUserList" resultType="com.aloha.pojo.User">
        select * from mybatis.user;
    </select>
    <select id="getUserById" parameterType="int" resultType="com.aloha.pojo.User">
        select * from mybatis.user where id = #{id}
    </select>

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

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

    <delete id="deleteUser">
        delete from mybatis.user where id=#{id}
    </delete>
</mapper>

3.编写src同级别目录下的test文件

在这里插入图片描述

package com.aloha.dao;

import com.aloha.pojo.User;
import com.aloha.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class UserDaoTest {
    @Test
    public void test() {
        // 1. 获取SqlSessionFactory对象
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        // 2. 执行sql
        // 方式一: getMapper
        try {
            UserMapper userdao = sqlSession.getMapper(UserMapper.class);
            List<User> userList = userdao.getUserList();

            for (User user : userList) {
                System.out.println(user);
            }
        }catch(Exception e) {
            e.printStackTrace();
        }finally {
            // 3. 关闭SqlSession
            sqlSession.close();
        }
    }

    @Test
    public void test2() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        try {
            UserMapper usermapper = sqlSession.getMapper(UserMapper.class);
            User user = usermapper.getUserById(1);

            System.out.println(user);
        }catch(Exception e) {
            e.printStackTrace();
        }finally {
            // 3. 关闭SqlSession
            sqlSession.close();
        }
    }

    @Test
    public void test3() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int res = mapper.addUser(new User(4, "周杰伦", "12333"));
        if(res > 0) {
            System.out.println("插入成功");
        }
        // 提交事务
        sqlSession.commit();
        sqlSession.close();
    }

    @Test
    public void test4() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int res = mapper.updateUser(new User(1, "无敌", "12333"));
        if(res > 0) {
            System.out.println("修改成功");
        }
        sqlSession.commit();
        sqlSession.close();
    }

    @Test
    public void test5() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int i = mapper.deleteUser(4);
        System.out.println(i);
        sqlSession.commit();
        sqlSession.close();
    }
}

4.万能的Map

使用场景:比如插入一个对象,不想填所有的方法

UserMapper

// 万能的Mapper
    int addUser2(Map<String, Object> map);

UserMapper.xml

    <insert id="addUser2" parameterType="map">
        insert into mybatis.user (id, pwd) values (#{userId},#{passWord});
    </insert>

测试方法

    @Test
    public void test6() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("userId", 4);
        map.put("passWord", "222333");
        mapper.addUser2(map);

        sqlSession.close();
    }

http://www.kler.cn/a/375536.html

相关文章:

  • 工厂防静电监控系统设备静电监控仪的关键作用
  • Debian 12 安装配置 fail2ban 保护 SSH 访问
  • 计算机基础复习12.23
  • 专业的内外网数据交换方案 可解决安全、效率、便捷3大问题
  • 【专题】2024年悦己生活消费洞察报告汇总PDF洞察(附原数据表)
  • ShardingSphere-Proxy 连接实战:从 Golang 原生 SQL 到 GORM 的应用
  • 提升网站安全性 HTTPS的重要性与应用指南
  • 后端:Spring、Spring Boot-实例化Bean依赖注入(DI)
  • 【android12】【AHandler】【3.AHandler原理篇AHandler类方法全解】
  • (10)文件操作
  • linux虚拟机上使用USB转串口工具
  • HTTP 全知道:请求与响应的深度剖析
  • Spring Boot JPA中的Page组件详解
  • 【时间之外】IT人求职和创业应知【23】
  • 【日常记录-Java】JarFile
  • Gorilla Mk1机器人:CubeMars电机加持,助力高空作业新突破
  • 3259. 超级饮料的最大强化能量
  • 【AI人工智能】给GPT一个英文文档,让它进行翻译,总结。
  • linux图形化X窗口
  • 商品详情API接口系列(json数据示例演示)
  • Lucene的使用方法与Luke工具(2)
  • 基于redis实现延迟队列
  • 【Docker项目实战】使用Docker安装Blossom 笔记应用
  • 【LangChain系列4】【Chain模块详解】
  • 【2025最新整理】ResNet 系列网络的演进及其创新
  • lanqiaoOJ 3255:重新排队 ← STL list 单链表