我有以下情况:
public class MyObj{
private String myField_1
private String myField_2
private MyChildObj myChild
// Constructor & get/set
}
public class MyChildObj{
private String myField_3
private String myField_4
// Constructor & get/set
}
在我的Query.xml中,我以这种方式编写了插入内容:
<insert id="insertMyObj" parameterType="MyObj">
INSERT INTO MY_TABLE ( FIELD_1,
FIELD_2,
FIELD_3,
FIELD_4)
values ( #{myField_1},
#{myField_2},
#{myField_3},
#{myField_4},
)
</insert>
阅读mybatis结果地图指南后,我尝试在mybatis-config.xml文件中添加以下行:
<typeAliases>
<typeAlias alias="MyObj" type="myPackage.MyObj"/>
<typeAlias alias="MyChildObj" type="myPackage.MyChildObj"/>
</typeAliases>
<resultMap id="insertObj" type="MyObj">
<result property="myField_1" column="FIELD_1"/>
<result property="myField_2" column="FIELD_2"/>
<association property="PrimaryKeyMap" resultMap="PrimaryKey"/>
</resultMap>
<resultMap id="PrimaryKeyMap" type="PrimaryKey">
<result property=myField_3 column="FIELD_3"/>
<result property="myField_4" column="FIELD_4"/>
</resultMap>
但我一直收到以下错误:
### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: xx; columnNumber: xx; Element type "resultMap" must be declared.
谁能告诉我该如何设置?
中的resultMap
属性<association>
需要引用结果映射的名称,而不是Java类型:<association property="MyChildObject" resultMap="PrimaryKeyMap"/>
但是,如果MyChildObject
作为单独的表存储在数据库中,则不支持嵌套插入。您将需要在Java中调用两个插入。ResultMaps供 选择 。
如果您只是将一个表中的几列放在一个单独的对象中,则可以使用点符号来实现myChildObject.myField_4
。像这样:
<insert id="insertMyObj" parameterType="MyObj">
INSERT INTO MY_TABLE ( FIELD_1,
FIELD_2,
FIELD_3,
FIELD_4)
values ( #{myField_1},
#{myField_2},
#{myChildObject.myField_3},
#{myChildObject.myField_4},
)
</insert>
我对这两种算法的时间复杂度感到困惑。 usingTreeMap算法的时间复杂度正确吗?我知道在treemap中插入时间是log(n ),但是如果我们遍历一个包含10个元素的数组,它会变成nlog(n)吗?
我得到和错误当我执行 错误是: 未处理的异常:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期BEGIN_OBJECT但BEGIN_ARRAY在第1行第52列路径$. f 这是 json 响应 我有这个班级 和这个其他
问题内容: 我在Spring(3.1)中使用以下@Cacheable: Spring: Maven: 要缓存的方法: las,当我调试代码时,我看到即使param1和param2相同(即未使用cahce),也多次调用了该缓存方法。 有任何想法吗? 问题答案: 密钥显示不正确- 您可能是说- 此外,如果在没有调试信息的情况下完成编译,则param1,param2参数名称将对表达式求值器不可用。相反,
问题内容: 这个问题已经在这里有了答案 : 使用PDO插入多行 (1个答案) 4年前关闭。 我有数据库表:和 当前,唯一要插入类别表的函数与此类似: 我有一种形式来输入标题和插入URL图像的可能性。 通过单击提交标题,我要转到类别表,到目前为止,图像应该转到表图像,每个图像都有一个ID,但内部连接到该类别的ID。 桌子: 我无法正确执行此操作 我想要的结果示例: html表格 提交后 表类别: 表
我主要是想理解在堆中插入一个新元素的大O和Omega背后的原因。我知道我可以在网上找到答案,但我真的喜欢有一个彻底的理解,而不是仅仅在网上找到答案,只是一味地记忆。 例如,如果我们有以下堆(以数组格式表示) 如果我们决定插入一个新元素“4”,那么我们的数组现在将如下所示 它将被放置在索引9中,由于这是第0个基于索引的数组,它的父数组将是索引4,也就是元素5。在这种情况下,我们不需要做任何事情,因为
本文向大家介绍老生常谈 MyBatis 复杂查询,包括了老生常谈 MyBatis 复杂查询的使用技巧和注意事项,需要的朋友参考一下 一对一查询 在实际开发中,经常会遇到一对一查询,一对多查询等。这里我们先来看一对一查询。例如:每本书都有一个作者,作者都有自己的属性,根据这个,我来定义两个实体类: 然后,在数据库中,添加两张表: 添加成功后,我们新建一个 BookMapper,BookMapper