mybatis增删改查的写法集合

2023-11-01

  • 增删改查的写法集合

    注意:xml文件尽量不要注释

    • Usermapping

      public interface UserMapping {
      
          //查询
          List<User> getUserlist();
          User getUserById(int id);
      
          //增加元素
          int insertItem(User user);
      
          //删除元素
          int deleteItem(int i);
      
          //更改元素
          int updataItem(User user);
      }
      
      
    • 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">
      <mapper namespace="com.yunjiu.dao.UserMapping">
      
      
          <select id="getUserlist" resultType="com.yunjiu.pojo.User">
              select * from mybatis.user;
          </select>
      
          <select id="getUserById" parameterType="int" resultType="com.yunjiu.pojo.User">
            select  * from mybatis.user where id=#{id};
          </select>
      
      
          <insert id="insertItem" parameterType="com.yunjiu.pojo.User">
              insert into mybatis.user(id,name,pwd) values(#{id},#{name},#{pwd})
          </insert>
      
          <delete id="deleteItem" parameterType="int">
              delete from mybatis.user where id=#{i};
          </delete>
      
          <update id="updataItem" parameterType="com.yunjiu.pojo.User">
              update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id};
          </update>
      </mapper>
      
    • Mytest(测试文件)

    import com.yunjiu.dao.UserMapping;
    import com.yunjiu.pojo.User;
    import com.yunjiu.utils.MybatisUtils;
    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;
    
    import java.util.List;
    
    public class MyTest {
        @Test
        public void selectUser() {
            SqlSession session = MybatisUtils.getSession();//使用工具类的方法
    
            //方法一:(不推荐使用)
            //List<User> users = session.selectList("com.kuang.mapper.UserMapper.selectUser");
    
    
            //方法二:
            UserMapping mapper = session.getMapper(UserMapping.class);//导入接口类
            List<User> users = mapper.getUserlist();//使用接口类的方法
    
            for (User user: users){
                System.out.println(user);
            }
            session.close();//注意,记得关
        }
        @Test
        public  void selectById(){
            SqlSession session = MybatisUtils.getSession();//使用工具类的方法
    
            UserMapping mapper = session.getMapper(UserMapping.class);//导入接口类
         User users = mapper.getUserById(1);//使用接口类的方法
    
    
                System.out.println(users);
    
            session.close();
        }
        @Test
        public  void insertItem(){
            SqlSession session = MybatisUtils.getSession();//使用工具类的方法
    
            UserMapping mapper = session.getMapper(UserMapping.class);//导入接口类
            int users = mapper.insertItem(new User(1,"白","15151"));//使用接口类的方法
    
    if(users>0){
        System.out.println("增加成功");
        session.commit();//注意增删改查都需要提交才行
        session.close();
    }
          else {
        System.out.println("增加失败");
        session.rollback();
        session.close();
          }
    
        }
    
        @Test
        public  void deleteItem(){
            SqlSession session = MybatisUtils.getSession();//使用工具类的方法
    
            UserMapping mapper = session.getMapper(UserMapping.class);//导入接口类
            int users = mapper.deleteItem(01);//使用接口类的方法
    
            if(users>0){
                System.out.println("删除成功");
                session.commit();//注意增删改查都需要提交才行
                session.close();
            }
            else {
                System.out.println("删除失败");
                session.rollback();
                session.close();
            }
    
        }
        @Test
        public  void updateItem(){
            SqlSession session = MybatisUtils.getSession();//使用工具类的方法
    
            UserMapping mapper = session.getMapper(UserMapping.class);//导入接口类
            int users = mapper.updataItem(new User(02,"白边","545"));//使用接口类的方法
    
            if(users>0){
                System.out.println("更新成功");
                session.commit();//注意增删改查都需要提交才行
                session.close();
            }
            else {
                System.out.println("更新失败");
                session.rollback();
                session.close();
            }
    
        }
    }
    
    
  • 核心配置文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                    <property name="username" value="root"/>
                    <property name="password" value="123456"/>
                </dataSource>
            </environment>xml
        </environments>l
        <mappers>
            <mapper resource="com/yunjiu/dao/UserMapper.xml"/>
        </mappers>
    </configuration>
    
    • 实体类

      public class User {
      
          private int id;  //id
          private String name;   //姓名
          private String pwd;   //密码
      
          public User() {
      
          }
      
          public User(int id, String name, String pwd) {
              this.id = id;
              this.name = name;
              this.pwd = pwd;
          }
      
          public int getId() {
              return id;
          }
      
          public void setId(int id) {
              this.id = id;
          }
      
          public String getName() {
              return name;
          }
      
          public void setName(String name) {
              this.name = name;
          }
      
          public String getPwd() {
              return pwd;
          }
      
          public void setPwd(String pwd) {
              this.pwd = pwd;
          }
      
          @Override
          public String toString() {
              return "User{" +
                      "id=" + id +java
                      ", name='" + name + '\'' +
                      ", pwd='" + pwd + '\'' +
                      '}';
          }
      }
      
      
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mybatis增删改查的写法集合 的相关文章

随机推荐

  • 计算机的基本组成及工作原理

    计算机的基本组成及工作原理 1 3 1 计算机系统的组成 计算机系统是由硬件系统和软件系统两大部分组成 这一节将分别介绍计算机硬件系统和软件系统 计算机硬件是构成计算机系统各功能部件的集合 是由电子 机械和光电元件组成的各种计算机部件和设备
  • pytorch: Pool 和 AdaptivePool 的区别和使用方法

    在 pytorch 中 池化层 Pooling 有两种操作方式 一种是手动设计 另一种是自适应池化 一 手动设计 池化层操作 一般有最大值 max 池化和均值 avg 池化 而根据尺寸又有一维 二维 三维 所以 手动设计的池化层有6种函数
  • GitHub加速教程

    转载 GitHub 加速教程 GitHub Hosts 仓库提供最新的GitHub hosts地址 你可以自行配置hosts 但是最佳实践是使用 SwitchHosts 管理你的 hosts 可以阅读文章 SwitchHosts 还能这样管
  • 在Java中尽量使用包装类Integer而不使用int

    1 在MySQL中没有给字段赋值默认为null 当你从数据库中查出来也是null 如果该字段在对应的Java代码中是int类型 null不能对应int类型 因为int代表的是基本数据类型 只能是基本的数字 2 实体类的属性你可以给它赋值也可
  • 三分钟教你学Git(二十一) - 复制连续多个提交

    有时候我们有一个分支A 里边包含了提交A1 gt A2 gt A3 gt A4 gt A5等 然后我们又有一个分支B 里边包含了提交A1 gt A2 gt B1 gt B2 gt B3 现在我们想把分支A中的A3 A4 A5版本复制到分支B
  • vue3项目实战+element-plus

    记录自己搭建前端项目的学习过程和开发过程 希望一起学习进步 采用Vue3 element plus axios vue router sass 目前刚开始是用到了这些 随着开发慢慢更新 npm是比较慢的 所以我用的是pnpm 安装指令 np
  • 播放raw下的音乐文件

    在开发的过程中 我们需要一些不需要用户改变的音乐或图像文件 这些文件存在安卓res raw文件夹中 下面就介绍如何播放res raw文件夹中的乐 1 在res目录下新建一个raw文件夹 2 界面上 xml文件中有一个按钮控件 当我们点击按钮
  • 迭代器模式c++实现

    参考书籍 Head First设计模式 需求场景 餐馆和咖啡馆的菜单分别是用数组和容器 vector 存储的 有一天餐馆和咖啡店合并了想要打印菜单 必须实现两个不同的遍历 数组用sizeof计算长度 用 取元素 容器用size取长度 用at
  • 第二阶段 归纳总结

    总结归纳 文章目录 总结归纳 计算机理论基础为 的童鞋 一二阶段是基础 三四阶段是应用 1 Linux操作系统使用 2 数据机构 3 IO网络编程 4 并发编程 5 正则表达式 6 Mysql数据库 7 git使用 8 项目综合 聊天室 f
  • 2023年十大无代码测试工具 每个测试人员都应该知道

    编码 跟很多技能一样 需要多年的实践才能熟练掌握 让测试人员编写一堆代码组成测试程序 修复程序中的错误 并在几周内完成大量工作很有难度 根据2019 2020年世界质量报告 在敏捷项目中应用自动化测试的最大的问题就是很多测试人员缺乏专业编程
  • 双因素方差分析 matlab,MATLAB的双因素有交互效应的方差分析

    二 MATLAB的双因素有交互效应的方差分析在两个因素的试验中 不但每一个因素单独对试验结果起作用 往往两个因素的不同水平组合还会产生一定的合作效应 在方差分析中称为交互效应 交互效应在对因素方差分析中 通常是当成一个新因素来处理 设因素A
  • Django学习

    创建项目 django admin startproject mysite 目录结构如下 查看帮助 终端页面输入以下命令 django admin help django admin help Type django admin help
  • 缺陷检测数据集

    缺陷检测数据集 东北大学钢材表面缺陷数据集 铁质缺陷 东北大学钢材表面缺陷数据集 简介 该数据集是东北大学宋克臣团队制作而成 是钢材表面缺陷数据集 共有1800张图片 包含六种类型共有六种缺陷 crazing inclusion patch
  • Vue中路由vue-router的使用

    基本使用 1 安装vue router 命令 npm i vue router 2 应用插件 import VueRouter from vue router Vue use VueRouter 3 编写router配置项 import V
  • python中判断 nan 的几种方式

    float NaN 判断 float NaN float NaN pandas中的 nan 判断 pd isnull df1 df1 是DataFrame对象 也可以是Series对象 pd isna 直接判断DataFrame某一列是否为
  • Springboot自定义ThreadPoolTaskExecutor线程池多线程并发执行异步方法

    1 背景 当前因为工作需求 要发送大量Http请求 经过实践遍历发送需要6小时才能发送完毕 如果单线程发送请求会导致主线程阻塞 就会存在以下问题 前端用户等待响应时间过长 无法进行下一步操作 不利于用户操作系统 响应时间过长超过Tomcat
  • 内存分页

    内存分页 p Description 内存分页 p param records 待分页的数据 param pageNum 当前页码 param pageSize 每页显示的条数 return 分页之后的数据 public static
  • Git——C站最详细的Git教程,一篇学会Git(window\linux通用)

    Git C站最详细的Git教程 一篇学会Git window linux通用 文章目录 Git C站最详细的Git教程 一篇学会Git window linux通用 Git简介 Git 作用 为什么要进行源代码管理 Git的诞生 Git管理
  • vue双向数据绑定指令v-model

    vue双向数据绑定指令v model v model 被称为双向数据绑定指令 就是Vue实例对数据进行修改 页面会立即感知 相反页面对数据进行修改 Vue内部也会立即感知 v model 是vue中唯一实现双向数据绑定的指令 v bind
  • mybatis增删改查的写法集合

    增删改查的写法集合 注意 xml文件尽量不要注释 Usermapping public interface UserMapping 查询 List