- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我设置了一个 resultMap,其中包含许多结果元素。我希望能够设置一个常量作为结果之一。所以而不是
<result property="name" column="Name"/>
我希望能够确保该名称将作为字符串“Joe”返回。在理想的情况下,我会更改查询以返回此常量,但不幸的是,这对我来说不是一个选择。我扫描了 iBatis dtd,但无法找到合适的属性。我知道我可以迭代从 iBatis 返回的列表,但我更希望能够在 iBatis 映射中执行此操作。谢谢
最佳答案
YesNoTypeHandler.java 与 Mybatis 3 兼容:
ABC-sqlmaps.xml
<resultMap id="resultMapABC" class="com.abc.dto.ABC">
...
<result property="isA" column="is_a" typeHandler="YesNoTypeHandler"/>
...
</resultMap>
ibatis.xml
<sqlMapConfig>
...
<typeAlias alias="YesNoTypeHandler" type="com.abc.dao.sqlmap.YesNoTypeHandler"/>
<typeHandler javaType="boolean" jdbcType="BOOLCHAR" callback="YesNoTypeHandler"/>
...
</sqlMapConfig>
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.TypeHandler;
public class YesNoTypeHandler implements TypeHandler {
@Override
public void setParameter(PreparedStatement paramPreparedStatement, int paramInt, Object paramObject, JdbcType paramJdbcType) throws SQLException {
if (paramObject == null) {
paramPreparedStatement.setString(paramInt, "N");
}
else {
Boolean value = (Boolean) paramObject;
paramPreparedStatement.setString(paramInt, value ? "Y" : "N");
}
}
@Override
public Object getResult(ResultSet getter, String columnLabel) throws SQLException {
String value = getter.getString(columnLabel);
if (getter.wasNull()) { return false; }
return "Y".equalsIgnoreCase(value);
}
@Override
public Object getResult(CallableStatement cs, int columnNb) throws SQLException {
String value = cs.getString(columnNb);
if (cs.wasNull()) { return false; }
Boolean BoolValue = "Y".equalsIgnoreCase(value);
return BoolValue;
}
}
关于java - 在 iBatis resultMap 中返回常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6775039/
我在 iBatis 中有几个嵌套的 ResultMaps,它们具有完全相同的数据库列名。这会导致歧义,并导致为不同的数据库表检索到不正确的结果。 例如,`
有没有办法在单个查询中多次重用同一个 resultMap。 例如,假设我有一个“foo”结果映射: 有没有办法定义另一个 resultMap 来对不同的列重用上述内容?类似...
我一直在尝试让 iBatis 返回 POJO 列表,如下链接所示: http://www.java2s.com/Code/Java/J2EE/GetListOfObjects.htm 我得到的返回是一
我使用 MyBatis Generator 生成 JavaBean 和 Mapper.xml。 但是 Mapper.xml 与我预期的不同。 Mapper.xml 包含两个 resultMap,Bas
你好 StackOverflowers, 关于 MyBatis resultMap 有一些我不明白的地方。 我正在处理的模型正在更新。我们决定创建一个新的对象图来反射(reflect)我们 futur
我实际上正在测试mybatis。我真的很喜欢,但是,我想更深入,但我在 resultMap 方面遇到了问题。 实际上我只是想从数据库中获取一个计算机对象,它由多个屏幕和一个塔组成(我代码的另一个对象)
我设置了一个 resultMap,其中包含许多结果元素。我希望能够设置一个常量作为结果之一。所以而不是 我希望能够确保该名称将作为字符串“Joe”返回。在理想的情况下,我会更改查询以返回此常量,但不
我的域模型中有一对多关系,我基本上想使用一个 MyBatis select 语句读取 Foos 和一组经过过滤的 Bars Bars 的嵌套选择。 解释一下:我的域模型类看起来或多或少像这样(当然真正
MyBatis 映射问题。 假设我们有一个表 USERS CREATE TABLE USERS( USER_ID int(10) NOT NULL AUTO_INCREMENT, LOGI
有人可以帮助澄清 MyBatis 文档中定义的重命名属性/列吗? MyBatis 文档 文档定义了一个简单的Java类: public class User { private int id;
我在 google 或 stack 上看到这个问题的描述非常奇怪。让我解释。 我在接口(interface)方法的注释中有结果映射。只有在这种特殊情况下我才需要动态查询,这就是我决定在 xml 文件中
有一些代码使用了 Ibatis 2.3,我有一个类 User 和一个 resultMap 如下: public class User { private Integer id; private
Mapper.xml SELECT product.id, product.code, product.descrip
我正在尝试创建一个将填充vehicleVO的结果 map 。我想将几列映射到vehicleDocuments HashMap。我要填充的数据也存在于同一个表中。 public class Vehicl
我在 Java 中使用 MyBatis。我可以在结果映射中使用多个 id 吗? 代码 我的结果 Java 类如下所示: public class MyClass { private int i
我似乎找不到将结果 map 作为 map 获取的方法 我的 sql 是 SELECT CONCAT(SCE_WRK_CTRL_NB, AC_CRR_CDE) as row_id, M
我想重新使用来自不同 *Mapper.xml 文件的特定文件,这些文件都以某种方式读取相同的对象。 我有一个名为 Project 的数据库表,我为它创建了以下 resultMap:
我的项目被 Checkmarx 扫描,所有 Mybatis xml 文件都显示相同的风险:异常处理不当。 报告说每个 resultMap 代码都像这样 可能会抛出预期的异常,应该包裹在 try-cat
我有一个映射器resultMap,它有两个我需要内联选择的集合 这两个集合的查询完全相同,但生成的 map 却截然不同。有没有办法可以将相同的选择与两个不同的 resultMaps 一起使用? 我
我想在 iBatis 查询中为参数映射传递一组字符串,并为结果集返回一个字符串集合。 这可能吗? 示例查询 ... SELECT * FROM some_table t WHERE t.some_co
我是一名优秀的程序员,十分优秀!