首页 > 其他分享 >2024/10/26 使用Mybatic --》关于Mybatis 进行增删改查 ---2 添加、修改与删除

2024/10/26 使用Mybatic --》关于Mybatis 进行增删改查 ---2 添加、修改与删除

时间:2024-10-26 23:20:02浏览次数:6  
标签:10 26 String -- brand sqlSession SqlSession id

添加:

点击查看代码
-- 添加
-- Mybatis事务:
-- openSession():默认开启事务,进行增删改操作后需要使用 sqlSession.commit(); 手动提交事务
-- openSession(true):可以设置为自动提交事务(关闭事务)
-- 
-- 添加-主键返回
-- 在数据添加成功后,需要获取插入数据库数据的主键的值
-- >比如:添加订单和订单项
-- 1.添加订单
-- 2.添加订单项,订单项中需要设置所属订单的id
-- 返回添加值的主键:
-- <insert useGeneratedKeys="true"keyProperty="id">
-- 
--  @Test
--     public void testAdd() throws Exception {
--         //接受参数
--         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
--         //1.加载mybatis的核心配置文件,获取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 sqlSession = sqlSessionFactory.openSession(true);
-- 
--         //3.获取Mapper接口的代理对象
--         BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
--         //4.执行方法
--         brandMapper.add(brand);
--         //提交事务
--         sqlSession.commit();
-- 
--         //5.释放资源
--         sqlSession.close();
-- 
--     }
--  <!--    <insert id="add">-->
--     <!--        insert into tb_brand (brand_name, company_name, ordered, description, status)-->
--     <!--        values (#{brandName},#{companyName},#{ordered},#{description},#{status})-->
--     <!--    </insert>-->
--     <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 testAdd2() throws Exception {
--         //接受参数
--         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
--         //1.加载mybatis的核心配置文件,获取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 sqlSession = sqlSessionFactory.openSession(true);
-- 
--         //3.获取Mapper接口的代理对象
--         BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
--         //4.执行方法
--         brandMapper.add(brand);
--         //提交事务
--         sqlSession.commit();
--         Integer id = brand.getId();
--         System.out.println(id);
-- 
--         //5.释放资源
--         sqlSession.close();
-- 
--     }
-- 	需要注意的是添加中的自动提交与手动提交设置 sqlSession.commit(ture)设置
-- 

修改:

点击查看代码
-- 修改
-- 
-- @Test
--     public void testUpdate1() throws Exception {
--         //接受参数
--         int status =1;
--         String companyName ="波导手机";
--         String brandName ="波导";
--         String description = "波导手机,手机中的战斗机";
--         int ordered = 100;
--         int id = 5;
-- 
--         //封装参数
--         Brand brand = new Brand();
--         brand.setStatus(status);
--         brand.setCompanyName(companyName);
--         brand.setBrandName(brandName);
--         brand.setDescription(description);
--         brand.setOrdered(ordered);
--         brand.setId(id);
-- 
--         //1.获取SqlSessionFactory
--         //1.加载mybatis的核心配置文件,获取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 sqlSession = sqlSessionFactory.openSession(true);
-- 
--         //3.获取Mapper接口的代理对象
--         BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
--         //4.执行方法
--         int count = brandMapper.update1(brand);
--         System.out.println(count);
-- 
--         //提交事务
--         sqlSession.commit();
-- 
--         //5.释放资源
--         sqlSession.close();
-- 
--     }
--    <update id="update1">
--         update tb_brand
--         set brand_name   = #{brandName},
--             company_name =#{companyName},
--             ordered      = #{ordered},
--             description  = #{description},
--             status       = #{status}
--         where id = #{id};
--     </update>
--
-- 动态修改
-- 
--   @Test
--     public void testUpdate2() throws Exception {
--         //接受参数
--         int status =0;
-- //        String companyName ="波导手机";
-- //        String brandName ="波导";
-- //        String description = "波导手机,手机中的战斗机";
-- //        int ordered = 100;
--         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
--         //1.加载mybatis的核心配置文件,获取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 sqlSession = sqlSessionFactory.openSession(true);
-- 
--         //3.获取Mapper接口的代理对象
--         BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
--         //4.执行方法
--         int count = brandMapper.update2(brand);
--         System.out.println(count);
-- 
--         //提交事务
--         sqlSession.commit();
-- 
--         //5.释放资源
--         sqlSession.close();
-- 
--     }
--    <update id="update2">
--         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 testDeleteById() throws Exception {
--         //接受参数
--         int id = 6;
-- 
--         //封装参数
--         Brand brand = new Brand();
--         brand.setId(id);
-- 
--         //1.获取SqlSessionFactory
--         //1.加载mybatis的核心配置文件,获取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 sqlSession = sqlSessionFactory.openSession(true);
-- 
--         //3.获取Mapper接口的代理对象
--         BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
--         //4.执行方法
--         brandMapper.deleteById(id);
-- 
--         //提交事务
--         sqlSession.commit();
-- 
--         //5.释放资源
--         sqlSession.close();
-- 
--     }
--
--   <delete id="deleteById">
--         delete  from tb_brand where id = #{id};
--     </delete>
-- 
-- 删除多个 如果不加@Param注解 那么xml文件中就必须写array
--  void deleteByIds(@Param("ids") int[] ids);
--
-- @Test
--     public void testDeleteByIds() throws Exception {
--         //接受参数
--         int []ids = {5,7};
-- 
--         //1.获取SqlSessionFactory
--         //1.加载mybatis的核心配置文件,获取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 sqlSession = sqlSessionFactory.openSession(true);
-- 
--         //3.获取Mapper接口的代理对象
--         BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
--         //4.执行方法
--         brandMapper.deleteByIds(ids);
-- 
--         //提交事务
--         sqlSession.commit();
-- 
--         //5.释放资源
--         sqlSession.close();
-- 
--     }
--     <!--
--         mybatis会将数组参数封装为一个Map集合,
--             *默认;array = 数组
--     -->
-- 
--     <delete id="deleteByIds">
--         delete  from tb_brand where id
-- <!--        in (-->
-- <!--            <foreach collection="ids" item="id" separator=",">#{id}-->
-- <!--            </foreach>-->
-- <!--            );-->
--         in
--             <foreach collection="ids" item="id" separator="," open="(" close=")">
--                 #{id}
--             </foreach>
--             ;
--     </delete>
--
---------------Moonbeams.

标签:10,26,String,--,brand,sqlSession,SqlSession,id
From: https://www.cnblogs.com/MoonbeamsC/p/18505340

相关文章

  • 基于基于MATLAB车牌出入库计时计费系统源码GU
    课题介绍随着汽车数量的增加,城市交通状况日益受到人们的重视,如何进行有效的交通管理更是成为了人们关注的焦点。智能交通系统通过车辆检测装置对过往的车辆实施检测,提取有关交通数据,达到监控、管理和指挥交通的目的。因此,它已成为世界交通领域研究的重要课题。车牌识别系统作......
  • 人脸识别的Matlab代码实现
     1概述人脸检测(FaceDetection)是在输入图像中确定所有人脸(如果存在)的位置,大小,位姿的过程。人脸检测作为人脸信息处理中的一项关键技术,近年来成为模式识别与计算机视觉领域一项受到普遍重视,研究十分活跃的课题﹐人脸检测问题最初来源于人脸识别(FaceRecognition)八......
  • 基于CT与MRI图像融合matlab程序及结果
    请注意该程序处理的图像必须是灰度图像,不能是彩图。Matlab程序:clear%装载原始图像001.mat;002.mat并显示。[X,map]=imread('003.Tif');X1=X;map1=map;figure(2);X1=imread('003.Tif');subplot(2,2,1);imshow(X1);title('图像001');X2=imread('004.Tif');subpl......
  • 7.C++数组
    C++数组1.数组1.数组在C++中,数组是一种存储固定大小的相同类型元素的序列。数组的所有元素都存储在连续的内存位置上。这种数据结构非常适合于存储具有固定数量和相同数据类型的元素集合。声明数组声明数组的基本语法如下数据类型数组名[数组大小];声明一......
  • 【C语言】预处理(预编译)详解(上)(C语言最终篇)
    文章目录一、预定义符号二、#define定义常量三.、#define定义宏四、带有副作用的宏参数五、宏替换的规则六、宏和函数的对比1.宏的优势2.函数的优势3.宏和函数的命名约定一、预定义符号  学习本篇文章的内容推荐先去看前面的编译和链接,才能更好地理解和吸收,文章......
  • 编队队形保持-Leader-Follower法-matlab仿真
    Leader-follower方法是传统编队队形控制中最常用的方法之一。leader跟踪一个预先给定的轨迹,follower和leader轨迹保持一定构型,并速度达到一致。本文使用的应用编队控制情景就如上图所示,是一个小编队。编队中有一个leader,和两个follower。编写的代码是对Desai团队发表......
  • 红队老子养成记3 - 学会反弹shell的多种姿势,拿shell拿手软!!(全网最多姿势!)
    大家好,我是Dest1ny!今天还是讲redteam里比较重要的反弹shell!不会反弹shell,那你如何拿控制权限!今天满满干货,大家加油学!CLASS-1正向连接与反向连接详解1.正向连接正向连接是最常见的连接方式。当我们攻击了一台机器后,打开了该机器的一个端口,攻击者在自己的机器上主动连......
  • 每日OJ题_牛客_城市群数量_FloodFill_C++_Java
    目录牛客_城市群数量_BFS/并查集题目解析C++代码Java代码牛客_城市群数量_BFS/并查集城市群数量_牛客题霸_牛客网(nowcoder.com)描述:        给定一个n个节点的邻接矩阵m。节点定义为城市,如果a城市与b城市相连,b与c城市相连,尽管a与c并不直接......
  • 关于git中出现的无法连接的问题
    问题有时候使用gitclone或者pipinstall会出现无法访问的情况如OpenSSLSSL_read:SSL_ERROR_SYSCALL,errno0以及Failedtoconnecttogithub.comport443after21113ms:Couldnotconnecttoserver,这些可能是由于代理的配置造成的取消全局代理gitconfig--g......
  • (神经网络和卷积入门)Pytorch小土堆跟练代码(第8天)
    本系列为跟练小土堆每集代码,然后进入李宏毅机器学习教程。在系列中会敲完所有视频中代码,并且在注释详细写出感悟和易错点。欢迎大家一起交流!最前面的神经网络和卷积,可以移步我的另一个帖子池化层只提取一部分特征,可以大大的加快训练速度最后输出类似于马赛克的效果'池......