问题标签 [mybatis-mapper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
78 浏览

java - Mybatis自动映射支持dot

配置

mybatis.configuration.map-underscore-to-camel-case=true

我希望 mybatis 支持点,自动映射。

0 投票
0 回答
463 浏览

java - Mybatis批量插入性能在JDK升级时变慢

我们正在将我们的 jdk 从 1.8.0_51 升级到 1.8.0_251。项目正在使用带有 oracle db 的 spring、spring-mybatis。代码中有一些 mapper.insert 调用,性能下降太多。插入的数据 - 100000 到 14 列的表中。时间恶化了 100 倍。对于新代码需要超过 8000 秒。Mybatis insert code details-Mybatis session: ExecutorType.BATCH, autocommit=false 一次插入20000行。

调查了mybatis的调试日志。它只打印 SQL,没有任何区别。

由于组织限制,无法在此处添加代码。

0 投票
0 回答
772 浏览

java - 为什么 Mybatis 必须提供无参数构造方法?

我只在类中定义了一个参数化的构造方法。当参数个数和映射个数不同时,查询仍然可以正确。

我正在做一个一对多的关联查询。当 ArrayList 未写入构造函数时,一切正常。

映射器.xml

数据库查询结果

这个查询的结果是正确的,但很奇怪。因为我没有定义无参数构造函数。


但是如果我这样写:</p>

我会报错:</p>

我不明白为什么会这样。如果我写一个参数化的构造函数,它不会自动提供一个无参数的构造函数。mybatis在映射的时候会创建一个对象,但是不知道mybatis是怎么创建的。

如果我定义了一个构造函数而不写一个无参构造函数,那么mybatis创建对象的时候会调用哪个方法呢?如果是无参构造函数,我定义有参构造函数的时候应该不会报错,但实际上他报错,类型不匹配。

把不匹配类型的参数去掉就成功了,也就是说创建对象的时候自动调用了参数化的构造函数,不是很清楚。

刚学会用mybatis,不知道为什么会这样

0 投票
1 回答
593 浏览

java - 如何编写 mybatis 映射器以便在中间创建的临时表中插入?

我正在尝试使用注释 mybatis 为以下 sql 提取编写映射器:

我尝试编写的映射器类请记住,它ABC是在两者之间创建的临时表。

错误是:

我知道那@Insert是用来插入值的。但在这种情况下,临时表的创建会产生问题。

提前致谢。

0 投票
3 回答
1705 浏览

java - 如何解决 MyBatis selectForUpdate 中的 indexOutOfBounds 错误?

我使用postgreSQL。这是我在 myBatisMapper 中的请求:

这是我的错误:

是什么原因以及如何解决?

0 投票
0 回答
29 浏览

mybatis - MyBatis 映射集合的正确方法

我有包含垂钓者列表的 POJO 团队:

以及对团队有指针的 POJO Angler:

AnglerMapper.xml

TeamMapper.xml

当我想检索所有钓鱼者时,我得到了Could not write JSON: Infinite recursion (StackOverflowError)。结果是这样的:

所以,钓鱼者指向团队,而不是团队指向钓鱼者等等,我很清楚,但是我可以避免这种映射方式吗?什么是解决方案,最佳实践?

0 投票
2 回答
648 浏览

java - 合并 mybatis 开关盒

我在我的查询中使用了 coalesce mybatis 开关盒,我遇到了类似的错误

查询数据库时出错。原因:java.sql.SQLException:ORA-01427:单行子查询返回多于一行

这是我的查询

提前致谢

0 投票
0 回答
112 浏览

escaping - 从 MyBatis 值中转义大括号 - Oracle

这是我的 MyBatis 映射器有问题的部分:

例如,如果 #{item} 包含“}”,我会得到:

  1. 如何正确转义所有可能有问题的字符?
  2. 把逻辑放在哪里?在映射器/dao/service..?

因此,例如 '}' 会被转义(如果文本已经包含转义的 '}' 以保持这种状态)。

项目中使用:

  • 爪哇 8
  • 春天
  • 甲骨文数据库
  • MyBatis
0 投票
1 回答
147 浏览

list - 如何遍历MyBatis中的动态列表并访问列表的对象

我想遍历一个列表,获取对象的名称并将该名称与我数据库中的记录匹配。然后获取该记录。

我尝试在 Mybatis 中使用 foreach 标签,但我只得到一个空列表作为回报。请帮助我并指出我是否犯了任何错误。

作为参考,我附上了我的服务实现、DAO、映射器和我正在使用的列表类。

服务实施

映射器

PaymentCommon.class

0 投票
1 回答
178 浏览

mybatis - mybatis 3 + spring:我可以根据查询结果中的列值将集合结果分为两组吗

我有 2 个这样的 java 模型

实际查询从具有这样列名的 db 中按名称获取结果..

不,我一直在尝试使mybatis xml根据trafficType列将上述查询结果分为两组,将划分的集合分别复制到DeviceData.java类的up列表,down列表中。我尝试使用鉴别器,但似乎没有用,因为我需要这两种情况。

到目前为止 resultMap 是这样的..(基本)

试图实现这个 JSON 响应:

感谢任何想法/语法,谢谢!