当前位置: 首页 > 知识库问答 >
问题:

将列表插入单独的表MYBATIS

岳城
2023-03-14

我需要帮助插入以下数据到数据库我有两个表employee和employee_skills(1个employee可以有很多技能)

mapper.xml

<insert id='addEmp1' parameterType='Employee'
    useGeneratedKeys='true '>
    INSERT INTO "PUBLIC"."EMPLOYEE"("ADDRESS", "AGE", "CITY", "DEPT",
    "FNAME","LNAME", "SALARY", "STATE")
    values(#{address},#{age},#{city},#{dept},#{fname},#{lname},#{salary},#{state});

</insert>
<insert id='addskills' parameterType='Employee'
    useGeneratedKeys='true '>
    INSERT INTO "PUBLIC"."EMPLOYEE_SKILLS"
    ( "EMPLOYEE_E_ID", "SKILLS" )
    VALUES (
    <foreach collection="skills" item="skill" separator=",">
        #{id},#{employee.skills}</foreach>)
     </insert>
    SqlSession sqlSession = MyBatisUtil.getSqlSessionFactory().openSession();
      try{
      EmployeeDAO userMapper = sqlSession.getMapper(EmployeeDAO.class);                                        //sqlSession.getMapper(UserMapper.class);
      // userMapper.addEmp(employee);                                                                       //userMapper.insertUser(employee);
    sqlSession.insert("addEmp1",employee);
    sqlSession.insert("addskill",employee);

      sqlSession.commit();
      }finally{
       sqlSession.close();
      }

共有1个答案

钮才哲
2023-03-14

如果使用sqlsession,则必须结合XML中指定的命名空间和查询id。见正式文件。

 类似资料:
  • 问题内容: 这是否可能在另一个数据结构中包含一个数据结构?到目前为止,我只能在列表中插入字符串或数字。 所需的数据结构将是具有一个列表,其中每个组件也是一个列表。 问题答案: 简单答案:不,Redis列表成员只能是字符串。 复杂的答案:字符串可以做很多事情。您可以使用多种不同的格式(JSON,XML,CSV,特定于语言的序列化等)将列表序列化为字符串。Redis可以容纳很大的字符串值,因此您可以只

  • 问题内容: 我有一个清单清单: 我想要以下格式的输出: 我已经按照以下方式尝试过,但是输出的方式不是理想的: 输出: 在更改打印调用以代替使用时: 输出: 有任何想法吗? 问题答案: 遍历原始列表中的每个子列表,并在打印调用中使用以下命令将其解压缩: 默认情况下,分隔设置为,因此无需显式提供分隔。打印: 在您的方法中,您要遍历每个子列表中的每个元素,并分别进行打印。通过使用您在打印调用中 解压缩

  • 我想知道是否有可能将不同流中的数据合并成一个流。通过合并,我的意思是将其添加到单独的列中,而不是添加到现有的列中。 到目前为止,我已经能够将数据收集到单独的地图中,如下面的示例所示。我认为我应该把这些地图合并成一张,但不确定如何去做,或者我是否做错了什么。 我做了一些搜索,在FlatMap、Concat等网站上找到了一些线索,但因为我对这条流还不熟悉 例如:列出数据-1

  • 我有两个表,一个是user,它是父表,另一个是posts(child)表,它的coulmns是 我已经说明了

  • 我正在尝试将用户在表单中输入的值插入数据库。 我有两个下拉列表用于血液测试,然后是分类。例如,用户首先选择下拉列表1“甲状腺”(类别),然后下拉列表2显示“FT4、FT3 TSH”(血液检测)等,用户进行选择。 然后他们输入日期和值。 在我的insert中,我需要在我的数据库中插入用户id(在使用会话变量登录后建立)、血液测试id(从下拉列表2)、日期和值。 我不能得到我的SQL查询正确的插入一般

  • 问题内容: Mapper.xml(映射器xml文件) Employee.java Emp.java TestDAO.java Main.java 我得到的异常是: 问题答案: Mapper.xml 这就是查询应该在Mapper xml中出现的方式