首页 > 其他分享 >Mybatis添加&修改

Mybatis添加&修改

时间:2024-11-02 18:46:48浏览次数:4  
标签:status ordered String brand 修改 sqlSession 添加 Mybatis description

一 添加

点击查看代码
void add(Brand brand);

<insert id="add" useGeneratedKeys="true" keyProperty="id"><!--主键返回-->
        insert into tb_brand (brand_name, company_name, ordered, description, status)
        values (#{brandName}, #{companyName}, #{ordered}, #{description}, #{status});

    </insert>

@Test
    public void testAdd() throws IOException {
        //接收参数
        int status = 1;
        String companyName = "波导手机";
        String brandName = "波导";
        String description = "手机中的战斗机";
        int ordered = 100;


        //封装对象
        Brand brand = new Brand();
        brand.setStatus(status);
        brand.setCompanyName(companyName);
        brand.setBrandName(brandName);
        brand.setDescription(description);
        brand.setOrdered(ordered);

        //1. 获取SqlSessionFactory
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        //2. 获取SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //SqlSession sqlSession = sqlSessionFactory.openSession(true);

        //3. 获取Mapper接口的代理对象
        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);

        //4. 执行方法

        brandMapper.add(brand);

        //提交事务
        sqlSession.commit();

        //5. 释放资源
        sqlSession.close();

    }


    @Test
    public void testAdd2() throws IOException {
        //接收参数
        int status = 1;
        String companyName = "波导手机";
        String brandName = "波导";
        String description = "手机中的战斗机";
        int ordered = 100;


        //封装对象
        Brand brand = new Brand();
        brand.setStatus(status);
        brand.setCompanyName(companyName);
        brand.setBrandName(brandName);
        brand.setDescription(description);
        brand.setOrdered(ordered);

        //1. 获取SqlSessionFactory
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        //2. 获取SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //SqlSession sqlSession = sqlSessionFactory.openSession(true);

        //3. 获取Mapper接口的代理对象
        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);

        //4. 执行方法

        brandMapper.add(brand);
        Integer id = brand.getId();
        System.out.println(id);

        //提交事务
        sqlSession.commit();

        //5. 释放资源
        sqlSession.close();

    }

二 修改 1)修改全部字段
点击查看代码
int update(Brand brand);

<update id="update">
        update tb_brand
        set brand_name=#{brandName},
            company_name=#{companyName},
            ordered=#{ordered},
            description=#{description},
            status=#{status}
        where id =#{id};
    </update>
2)修改动态字段
点击查看代码
    <update id="update">
        update tb_brand
        <set>
            <if test="brandName != null and brandName != ''">
                brand_name = #{brandName},
            </if>
            <if test="companyName != null and companyName != ''">
                company_name = #{companyName},
            </if>
            <if test="ordered != null">
                ordered = #{ordered},
            </if>
            <if test="description != null and description != ''">
                description = #{description},
            </if>
            <if test="status != null">
                status = #{status}
            </if>
        </set>
        where id = #{id};
    </update>



@Test
    public void testUpdate() throws IOException {
        //接收参数
        int status = 0;
        String companyName = "波导手机";
        String brandName = "波导";
        String description = "波导手机,手机中的战斗机";
        int ordered = 200;
        int id = 6;


        //封装对象
        Brand brand = new Brand();
        brand.setStatus(status);
//        brand.setCompanyName(companyName);
//        brand.setBrandName(brandName);
//        brand.setDescription(description);
//        brand.setOrdered(ordered);
        brand.setId(id);

        //1. 获取SqlSessionFactory
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        //2. 获取SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //SqlSession sqlSession = sqlSessionFactory.openSession(true);

        //3. 获取Mapper接口的代理对象
        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);

        //4. 执行方法


        int count = brandMapper.update(brand);
        System.out.println(count);
        //提交事务
        sqlSession.commit();

        //5. 释放资源
        sqlSession.close();

    }

标签:status,ordered,String,brand,修改,sqlSession,添加,Mybatis,description
From: https://www.cnblogs.com/qiixunlu/p/18522319

相关文章

  • docker对nginx.conf进行修改后页面无变化或页面报错
    可能是因为没有重启nginx容器可以执行dockerrestartnginx重启nginx试试引入了其他的配置文件本人安装的是docker默认的nginx,自带了一个default.conf的配置文件,并且在nginx.conf中还引入了这个文件,后面我还对nginx.conf添加了一个server并且端口号都是80,在打印dockerl......
  • 织梦后台添加变量提示Request var not allow
    问题描述:后台添加变量时提示“Requestvarnotallow”。解决方法:方法一:打开 include/common.inc.php 文件,找到 functionCheckRequest(&$val)。修改为:functionCheckRequest(&$val){if(is_array($val)){foreach($valas$_k=>$_v){if($_k=='......
  • PbootCMS 在网站管理后台增加点击数自定义修改功能
    修改模版:修改 apps/admin/view/default/content/content.HTML 文件。在 {if([$mod])} 下方添加点击数输入框:<divclass="layui-form-item"><labelclass="layui-form-label">浏览量<spanclass="layui-text-red">*</span></lab......
  • Jupyter Notebook添加kernel的解决方案
      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学......
  • 修改已完成系统提醒类 - C#小函数类推荐
          此文记录的是修改操作后的系统提醒操作类。/***修改已完成系统提醒类AustinLiu刘恒辉ProjectManagerandSoftwareDesignerE-Mail:[email protected]:http://lzhdim.cnblogs.comDate:2024-01-1515:18:00使用......
  • 修改PE导入表注入DLL——实例图文教程——让你看的明明白白
    一、前言其实通过修改PE导入表注入DLL的教程很多,本文也只是其中的沧海一粟而已,但既然写出来,自我感觉应该还是有一点自我的东西的,至少自认为做到了思路清晰,每步都有据可依,让看客应该能做到“看的明明白白”!本贴以《英雄无敌》1游戏程序为例子,向其添加一个DLL,调用其中的导出函数可......
  • systemctl restart NetworkManager 重启后,文件/etc/resolv.conf修改失败
    如果你在重启NetworkManager之后发现无法修改/etc/resolv.conf文件,这是因为NetworkManager会自动管理这个文件为了解决这个问题,你可以采取以下两种方法之一:方法一:禁用NetworkManager服务使用以下命令停止NetworkManager服务:sudosystemctlstopNetworkMana......
  • ARKit:ARKit场景构建与物体添加_2024-07-25_16-48-31.Tex
    ARKit:ARKit场景构建与物体添加ARKit基础介绍ARKit框架概述ARKit是苹果公司为iOS设备提供的增强现实开发框架,它允许开发者在iOS应用中创建沉浸式的AR体验。ARKit通过设备的摄像头、传感器和处理器,能够实时地检测和跟踪真实世界中的平面、光照、运动和环境特征,从而在这些平......