Mybatis之增删查改

目录

一、引言

二、Mybatis——查询

示例:查询用户

三、Mybatis——添加

示例:添加用户

四、Mybatis——删除

示例:删除用户

五、Mybatis——修改

示例:修改用户


一、引言

接着上次的mybatis,我们在了解完mybatis之后,肯定要知道怎么使用,本文就来详细讲解Mybatis的增删改查事务,还不了解怎么配置mybatis的朋友可以去这篇文章了解一下什么是MyBatis

什么是MyBatis-CSDN博客



二、Mybatis——查询

示例:查询用户

xml文件配置:

<!--查询-->
    <select id="findUserByName" parameterType="String" resultType="com.xinhua.domain.Student">
        select * from student where studentName = #{studentName}
    </select>

测试代码:

@Test
    public void Test03(){
        SqlSession sqlSession = ssf.openSession();
        List<Student> students = sqlSession.selectList("test.findUserByName","zhangsan");
            for (Student student :students){
            System.out.println(student.getId()+","+student.getStudentName()+","+student.getGender()+","+student.getAddress()+","+student.getEmail());
        }
    }

parameterType和resultType解释

parameterType:指定输入参数类型,mybatis通过ognl从输入对象中获取参数值拼接在sql中。

resultType:指定输出结果类型,mybatis将sql查询结果的一行记录数据映射为resultType指定类型的对象。

parameterType:定义输入到sql中的映射类型,${value}表示使用参数将${value}替换,做字符串的拼接。

注意:如果是取简单数量类型的参数,括号中的值必须为value

resultType:定义结果映射类型。

三、Mybatis——添加

示例:添加用户

xml文件配置:

<insert id="addStudent" parameterType="com.xinhua.domain.Student">
        <selectKey keyProperty="id" order="BEFORE" resultType="int">
            select last_insert_id()
        </selectKey>
        INSERT into student(studentName,gender,address,email,remark) VALUES (#{studentName},#{gender},#{address},#{email},#{remark})
    </insert>

测试代码

@Test
    public void Test05(){
        SqlSession sqlSession = ssf.openSession();
        //添加用户信息
        Student student = new Student("往二","男","成都","4567688@qq.com","rtyu");
        int insert = sqlSession.insert("test.addStudent", student);
        // 提交事务
        sqlSession.commit();
        System.out.println(insert);
    }

四、Mybatis——删除

示例:删除用户

xml文件配置

<!--删除-->
    <delete id="deleteStudentById" parameterType="int">
        DELETE FROM student where id = #{id}
    </delete>

测试代码:

@Test
    public void testDelete() {
        // 数据库会话实例
        SqlSession session = ssf.openSession();
        //删除用户
        Student student = session.selectOne("test.deleteStudentById",17);
        // 提交事务
        session.commit();
        session.close();

    }

五、Mybatis——修改

示例:修改用户

xml文件配置

 <update id="updateStudent" parameterType="com.xinhua.domain.Student">
        UPDATE student set studentName=#{studentName},gender=#{gender},address=#{address},email=#{email},remark=#{remark} where id = #{id}
    </update>

测试代码

@Test
    public void testUpdate() {
        // 数据库会话实例
        SqlSession sqlSession = null;
        // 创建数据库会话实例sqlSession
        sqlSession = ssf.openSession();
        // 修改用户信息
       Student student = new Student();
       student.setId(14);
       student.setStudentName("衣");
       student.setGender("女");
       student.setAddress("廊坊");
       student.setEmail("32642532629@qq.com");
       student.setEmail("euwfh");
        sqlSession.update("test.updateStudent", student);
        // 提交事务
        sqlSession.commit();
        sqlSession.close();
    }

注意:配置文件中的id的属性值,不一定要和方法名一样,但是一定要和sqlsession的参数名一样

相关推荐

  1. Mybatis增删

    2023-12-28 01:22:03       65 阅读
  2. Mybatis增删

    2023-12-28 01:22:03       52 阅读
  3. 初学Mybatis CRUD 增删

    2023-12-28 01:22:03       22 阅读
  4. MyBaties-增删

    2023-12-28 01:22:03       59 阅读
  5. mybatis增删

    2023-12-28 01:22:03       19 阅读
  6. Mybatis增删基础

    2023-12-28 01:22:03       48 阅读
  7. Mybatis批量增删

    2023-12-28 01:22:03       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-28 01:22:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-28 01:22:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-28 01:22:03       82 阅读
  4. Python语言-面向对象

    2023-12-28 01:22:03       91 阅读

热门阅读

  1. 【软件测试】面试题之接口测试篇

    2023-12-28 01:22:03       50 阅读
  2. TDD和FDD两种模式下信道估计的主要区别

    2023-12-28 01:22:03       53 阅读
  3. 树莓派安装mariadb & redis

    2023-12-28 01:22:03       53 阅读
  4. Redis过期key清理机制

    2023-12-28 01:22:03       63 阅读
  5. Qt读写ini文件,出现中文乱码问题

    2023-12-28 01:22:03       67 阅读
  6. [spark] DataFrame 的 checkpoint

    2023-12-28 01:22:03       63 阅读
  7. mysql修改密码

    2023-12-28 01:22:03       59 阅读
  8. NSNotificationCenter通知

    2023-12-28 01:22:03       61 阅读
  9. 网站开发:初学者深入指南

    2023-12-28 01:22:03       45 阅读
  10. Django 安装

    2023-12-28 01:22:03       58 阅读
  11. CommandLineRunner接口和@PostConstruct

    2023-12-28 01:22:03       46 阅读
  12. 基于OpenCV的图像颜色与形状识别的原理2

    2023-12-28 01:22:03       58 阅读