问题标签 [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 回答
45299 浏览

java - iBatis 获取执行的sql

有什么方法可以得到 iBatis 的执行查询吗?我想将查询重用于 UNION 查询。

例如:

当我通过执行查询时

我想得到SELECT username, password FROM table WHERE id=1

有什么办法可以得到查询吗?

谢谢。

0 投票
2 回答
4584 浏览

environment - iBatis - 使用 XML 选择环境

我有这个配置ibatis-config.xml

如图所示,它将从<environment id="development">

问题:是否可以在运行时切换使用<environment id="test">而不修改 XML?例如 - 我有一个正在使用的测试文件,SqlSessionFactory并想以编程方式设置它以使用测试环境?

0 投票
1 回答
588 浏览

spring - Spring + iBatis + Hessian 缓存

我在 Spring + iBatis 上有一个 Hessian 服务,在 Tomcat 上工作。我想知道如何缓存结果...

我在我的 sqlmap 文件中做了以下配置:

然后我做了一些测试......我有一个粗麻布客户端应用程序。我多次调用 getAccounts ,每次调用后都是对 DBMS 的查询。

如何使我的服务仅在第一次(服务器重新启动后)调用 getAccounts 并为以下调用使用缓存来查询 DBMS?

0 投票
1 回答
4418 浏览

transactions - EJB (3.1) 容器内 iBATIS 3 中的事务管理

有人在 EJB 容器中使用 iBATIS 3 作为他们的持久性框架吗?我最近开始构建一个新系统,我选择 EJB 3.1(EJB 的版本实际上与这个问题无关)作为我的应用程序框架和 iBATIS 3(这个版本是相关的!)作为我的持久性框架。我的业务逻辑是在使用 iBATIS 3 进行数据访问的 EJB 3.1 会话 bean 中实现的。我在 GlassFish v3 上运行)

我对这个堆栈的问题是事务管理。我已经通过编写一些简单的集成代码解决了我的问题,但我对我不得不这样做并不感到惊讶。所以我决定发布这个来看看其他人是否遇到过这个问题,如果是的话,他们是如何解决这个问题的。

我的要求是 iBATIS 3 在会话 bean 方法中透明地使用 EJB 事务(通常以声明方式定义)。iBATIS 3 提供了 2 个事务工厂 JdbcTransactionFactory 和 ManagedTransactionFactory,我发现这两个工厂在 EJB 环境中都不能正常工作(查看 iBATIS 源代码很清楚为什么它会失败)。

JdbcTransactionFactory 不合适,因为我希望忽略对 sqlSession.commit() 或 sqlSession.rollback() 的任何调用。所以我认为我应该使用 ManagedTransactionFactory,因为它确实会导致对 sqlSession.commit() 或 sqlSession.rollback() 的任何调用被忽略,但它也会导致 sqlSession.close()无法关闭 iBATIS 从sqlSession.open() 中的DataSource(DataSource 是我提供给iBATIS 的一个容器管理的DataSource 对象)。这会导致 GlassFish 耗尽其连接池并且应用程序失败。

所以我写了一个新的 TransactionFactory 实现,EJBTransactionFactory,它导致 sqlSession.commit() 或 sqlSession.rollback() 什么都不做,但在调用 sqlSession.close() 时会关闭连接。

我怀疑其他人遇到了这个问题,你是怎么解决的?

0 投票
1 回答
3659 浏览

java - JMock 模拟对象可以返回另一个模拟对象吗?

我正在使用 iBatis DAO 框架为应用程序编写测试。该应用程序在 java 1.4 环境中运行,所以我使用的是旧版本的一切(JDK 1.4、JUnit3、iBatis 2.3 和 JMock 1.2)。

在我的MockObjectTestCase子类中,我有这个测试

它应该验证服务对象是否会请求DaoManager一个 DAO 对象并调用insert它的方法。测试失败并显示错误消息

尝试将mockDao对象强制转换com.ibatis.dao.client.Dao为.com.ibatis.dao.client.template.SqlMapDaoTemplateClassCastException

我错过了什么?

更新:将代码转换为使用 JDK 1.6、JUnit 4 和 JMock2 没有任何改变。这段代码

导致此错误消息:

也许我在这里遗漏了一些明显的东西,但上面的代码几乎直接来自http://www.jmock.org/getting-started.html上的 JMock 示例。

有任何想法吗?

固定当然这是显而易见的。TblPpvFiltersDao以上需要扩展com.ibatis.dao.client.Daomarker接口。哦。

0 投票
4 回答
876 浏览

java - ORM in the realworld

I am begining a new project that i think will last for some years. Am in the point of deciding the ORM framework to use (or whether to use one at all). Can anyone with experience tell me whether orm frameworks are used in realworld applications. The problem i have in mind is this: The orm tool will generate for me tables and columns etc as i create and modify my entities. However, after the project has gone live and is in production, certain database changes will not be possible. Can this hinder the advancement of the project. If i had used a framework like ibatis for example, i know i would only need to adjust the sql statements based on the database changes. Can someone tell me whether ORM tools have survived the live environment. At my office, we use java based ERP that was done long ago and it was never done using any ORM framework.

Regards. Josh

0 投票
1 回答
1255 浏览

java - iBatis 3中如何使用存储过程或函数(带注解)

我想通过带有注释的“iBATIS 3 for Java”使用 Oracle 存储过程或函数。但我找不到任何示例代码。谁能帮我?我需要一个简单的示例代码。

0 投票
3 回答
5062 浏览

java - iBatis映射:将一个字符串字段映射到一个List

是否可以映射具有特定格式的字符串字段,例如:

aaa,bbb,ccc,ddd

使用 iBatis 进入具有元素 [aaa, bbb, ccc, ddd] 的列表?

我需要在我的模型中有类似的东西:

即使在我的表中该字段是一个简单的字符串。这可能吗?

谢谢罗伯托

0 投票
1 回答
1611 浏览

model - ibatis领域建模

我正在研究一个项目的域模型。我有一个名为 user 的类,它有一个名为 UserType 的类作为属性之一。我知道当我想选择所有用户时,我会使用连接来选择所有相应的用户类型。如何进行插入?我必须为 userType 编写处理程序吗?或者我可以做类似的事情

请帮忙;

我花了一整天的时间试图弄清楚这一点。我正在使用 ibatis 3.0,我是 ibatis 的新手。

0 投票
1 回答
3756 浏览

ibatis - ibati问题使用在迭代列表时

我是 iBatis 的新手,我在和元素上苦苦挣扎。

我想遍历作为 HashMap 传入的 Book 实例列表(例如):MyParameters。该列表将被称为 listOfBooks。

因此,整个 SQL 语句的子句将如下所示:

我还需要在迭代元素中生成不同的 SQL,具体取决于“listOfBooks”列表中每个 Book 实例的属性是否为空。

所以,我需要这样的声明:

当我这样做时,我收到一条错误消息,指出我的 Book 类中没有名为“title”的“READABLE”属性。但是,每个 Book 实例包含一个 title 属性,所以我很困惑!我只能假设我在尝试查明 listOfBooks 中特定 Book 实例的标题时已经掌握了语法。我正在努力寻找正确的技术来尝试实现这一目标。如果有人可以建议前进的方向,我将不胜感激。

谢谢