• 高级映射之事务


    jdbc.properties中的allowMultiQueries=true代表可以在一个insert标签中执行多个sql语句,具体实例如下:

    测试文件中:

    @Test
    public void 批量添加资源03() throws Exception {
      List<Menu> menuList = new ArrayList<Menu>();  
      Menu menu = new Menu();
      menu.setMenu_id(1);
      menuList.add(menu);

      menu = new Menu();
      menu.setMenu_id(2);
      menuList.add(menu);

      menu = new Menu();
      menu.setMenu_id(3);
      menuList.add(menu);

      Role role = new Role();
      role.setRole_id(8);
      this.roleDao.addMenuByRole(role, menuList);
      this.sqlSession.commit();
    }

    映射文件中如下所示:

    <!-- 事务:两个sql语句 -->
    <insert id="addMenuByRole">
      DELETE FROM role_link_menu WHERE fk_role_id = #{role.role_id};
      INSERT INTO
        role_link_menu
        (fk_role_id,fk_menu_id)
      VALUES
      <foreach collection="menus" item="menu" separator=",">
        (#{role.role_id},#{menu.menu_id})
      </foreach>
    </insert>

  • 相关阅读:
    mac pro发热发热发热
    从零开始搭建Vue组件库
    Charles模拟弱网测试
    webpack
    异步加载脚本
    Angular
    JavaScript模板语言
    Node.js
    gulp
    jsonp原理
  • 原文地址:https://www.cnblogs.com/blogofcookie/p/5598050.html
Copyright © 2020-2023  润新知