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

添加:

点击查看代码
-- 添加
-- 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.
posted @   Moonbeamsc  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
返回顶端
点击右上角即可分享
微信分享提示