问题标签 [ibatis]

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 投票
6 回答
98440 浏览

java - 休眠与 iBATIS

对于我们的新产品重新设计,我们正在从 Java 中选择最佳框架。由于考虑为模型采用与数据库无关的方法,我们正在研究 Struts + Spring 与 iBATIS 或 Hibernate 之间的选项。请提出最好的建议,因为两者都提供持久性。

0 投票
2 回答
40216 浏览

sql - iBatis中如何实现大于等于SQL语句?

假设在我想要做的 sql 语句中:

我如何在 iBatis 中做到这一点?

0 投票
1 回答
247 浏览

java - iBatis - 标题细节问题

我正在尝试将一些新功能添加到使用 iBatis 的现有应用程序中,但我对其中的一个设计决策有点坚持。

有一个现有的类(称为 A 类),我想向其中添加一些新字段。这些字段的类型为 B。

该查询将通过外部连接连接 B。

所以它会像

}

我在网络应用程序中使用它。在第一页上,我想返回一个“A”列表,然后将链接放在 B 旁边。

例如:

等等

(注意:记录 A4 没有指向任何 B 的链接——因此是上面提到的外部连接)

在“A's”的初始获取中,我只想知道 B 记录存在,它的主键是提供到 B 详细记录的链接。所以我的问题是,如何在不在“A”对象上创建完整填充的“B”列表的情况下做到这一点?

0 投票
1 回答
510 浏览

java - 如何断言数据库连接在事务中?

我正在使用对象/关系映射器与数据库对话。我的库是iBatis,它也用于事务管理。但是,我最近遇到了一个案例,即 iBatis 并没有真正开始交易,即使startTransaction()etc. 被称为记录了。经过一番调试,我发现我这边有一个配置错误。

有人可能会责怪 iBatis,但我想在未来避免这种误解。那么问题来了:

如何以编程方式断言当前数据库连接正在事务中运行?

我使用的数据库是 Oracle、MySQL 和H2(用于测试)。

0 投票
1 回答
7141 浏览

xml - 如何在 IntelliJ IDEA 中加载 xml 文件

IntelliJ 在源文件夹下找不到 xml 文件。

示例)src/net/saltfactory/domain/PersonSqlMap.xml

但是,如果我复制它并粘贴出文件夹,IntelliJ 会找到 xml 文件

例如)out/net/saltfactory/domain/PersonSqlMap.xml

我希望不要将 XML 文件复制并粘贴到 out 文件夹中

帮我

0 投票
2 回答
17711 浏览

jdbc - iBatis 3 - JNDI 配置示例

iBatis 框架在版本 2 和 3 之间进行了重大调整,甚至配置文件(现在通常称为 MapperConfig.xml)也有所不同。

话虽这么说,网上有很多关于如何使用 iBatis 创建 JDBC 连接池的示例,但我找不到一个如何使用 JNDI 来创建的示例。有一个更新的用户指南:http: //svn.apache.org/repos/asf/ibatis/java/ibatis-3/trunk/doc/en/iBATIS-3-User-Guide.pdf它确实指的是JNDI 设置在第 19 页,但我仍然无法让它与数据库正确通信。

非常感谢 iBatis 3 中 JDNI(容器管理的连接池)的工作示例!

0 投票
2 回答
2051 浏览

java - 如何处理 ibatis 映射中的空日期

我的一个结果映射中有以下内容。

基本上updateDate是一个接受的二传手Date。但是,有时updateDatenull在数据库中。在这些情况下,我希望有一个默认日期01/01/1900

updateDate但是,当DB 为 null时,上述映射给了我以下错误

0 投票
2 回答
428 浏览

sql - iBatis 循环引用问题

我有一个 Office 对象和一个设备对象。一个办公室有一个设备,一个设备属于一个办公室。因此,获取 Office 对象应填充 Office.Device 引用,并且 Device 对象应具有其所属的 Office 对象。我想这是一个循环引用。

我想在 iBATIS 中执行此操作,但我不知道如何正确执行此操作。

这几乎就像我需要一个 resultMap ,我可以“将此属性设置为由刚刚调用我的 resultMap 创建的对象”。而不是用另一个查询(N+1,我知道)填充这个属性(对象),或者使用结果集和这个另一个 resultMap 填充这个属性。

我不介意为这种情况创建另一个 resultMap。

另一个完全可以接受的答案是 iBATIS 没有这样做,因为您的架构有缺陷。如果是这种情况,请给我一些其他选择。

0 投票
1 回答
4646 浏览

java - 如何登录 iBatis ORM

我们大量使用 iBatis + Spring。我们从数据库中获得的一切都是通过存储过程获取的。有时在对问题进行故障排除时,我们想知道发送到 SP 的确切参数和执行的 SP 名称。目前我们通过调试代码来做到这一点(这很痛苦)。我们想向 iBatis 添加某种日志记录,以便打印出 SP + 参数值的名称。我们使用 log4j,下面是我们的 iBatis 结构。

映射:

从 DAO 调用 iBatis

如您所见,参数只是在一个HashMap. 我可以创建一个自己的类+方法,它将HashMap过程名称和过程名称作为参数,并将哈希图的所有键/值对和过程名称打印到日志中。但是,如果我这样做......我必须在调用 SP 之前将该调用添加到我所有的 DAO 中。

有没有更简单的解决方案?那会避免我再次触摸我的所有代码吗?

0 投票
1 回答
495 浏览

nhibernate - IBatis.Net DataMapper 是否正在积极开发?

IBatis.Net DataMapper 是否正在积极开发?他们有 .Net 3.5 的版本吗?我在 iBatis Java DataMapper 上看到了很多活动,因为他们计划发布带有注释支持的 iBatis3。.Net 对应方的状态如何?