标签: ibatis

在ibatis中传递和返回自定义数组对象,在java中传递和返回oracle

我环顾四周寻找一个很好的例子,但我还没有碰到一个.我想使用IBATIS框架将自定义字符串数组从java传递到oracle并返回.有没有人有一个很好的链接到一个例子?我正在调用IBATIS的存储过程.

谢谢

java oracle ibatis

7
推荐指数
1
解决办法
3万
查看次数

Android应用程序和myBatis

我想在Android应用程序中使用myBatis(iBatis 3).有没有人尝试过这样的事情或知道任何资源?

sqlite android ibatis mybatis

7
推荐指数
2
解决办法
5052
查看次数

在ibatis中是否可以在同一个插入查询中包含多个selectKey子句?

我需要在插入的同一个表中填充2个不同的ID,我试图使用selectKey从Oracle序列中提取值来填充ID.

使用一个id和selectKey我没有问题但是当我添加第二个selectKey时,该值似乎没有填充(请参阅下面的插入节).

是否有可能做到这一点?或者我是否需要创建另一个查询来更新第二个ID?

谢谢

<insert id="create" parameterClass="MyObject">
<selectKey keyProperty="id" resultClass="long" type="pre">
  <include refid="sequences.myObjectId" />
</selectKey>
<selectKey keyProperty="mySecondId" resultClass="long" type="pre">
  <include refid="sequences.mySecondId" />
</selectKey>    
INSERT INTO MY_OBJECT_TABLE 
(
MY_OBJECT_ID,
MY_SECOND_ID,
...
)
VALUES
)
#id#,
#mySecondId#,
...
)
</insert>
Run Code Online (Sandbox Code Playgroud)

java oracle ibatis

7
推荐指数
1
解决办法
2848
查看次数

iBatis多参数映射器方法

假设我有一个getUser带有两个参数的查询- userName和password.我想要一个如下所示的mapper方法:

public UserBean getUser(String userName, String password);
Run Code Online (Sandbox Code Playgroud)

有什么方法可以实现这样的目标吗?或者也许我应该传递我的mapper方法参数图(以及我的xml映射器中的一些parameterMap)?

public UserBean getUser(Map<String, Object> paramMap);
Run Code Online (Sandbox Code Playgroud)

我期待着一些提示和解释.

ibatis mapper

6
推荐指数
1
解决办法
5599
查看次数

对于使用Spring与JDBCTemplates,iBatis/myBatis或Hibernate的新项目?

您好我们正在开始一个项目,我们必须在使用Spring JDBCTemplates,iBatis/myBatis或Hibernate作为持久层之间做出决定.我或多或少熟悉他们两个人的概念,但我想知道人们目前倾向于使用什么.

我的要求是:

  • 保持一切尽可能简单
  • 易于学习和使用
  • 高性能
  • 最佳开发者生产力
  • 必须可以在Spring 3中使用

如上所述,我们希望尽可能简化一切.我倾向于倾向于iBatis/myBatis,因为它看起来更容易使用,我们不需要真正的OR Mapper.但我真的很期待向使用这些框架的人学习.

spring persistence hibernate ibatis mybatis

6
推荐指数
3
解决办法
1万
查看次数

asp.net网格分页的SQL查询

我使用iBatisSQLServer,

使用偏移和限制进行查询查询的最佳方法是什么?

也许我添加了列ROW_NUMBER() OVER (ORDER BY Id) AS RowNum,但这只会阻止简单查询的数据访问.在某些情况下,我使用选择联合.如何优化这些查询?

c# sql-server asp.net ibatis

6
推荐指数
1
解决办法
1037
查看次数

iBatis到MyBatis的迁移工作?

我在我的生产应用程序中使用iBatis-2.3.4.726.我想迁移我的生产应用程序以使用MyBatis.

迁移过程中我需要考虑哪些要点?

是否有任何配置更改或MyBatis支持iBatis配置为已弃用的命令?

ibatis mybatis

6
推荐指数
1
解决办法
1万
查看次数

使用MyBatis和Spring在项目中记录SQL查询

在我的项目中我有

<bean id="ABCSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="ABCDataSource" />
  <property name="mapperLocations">
      <list>
        <value>classpath:com/myco/dao/XYZMapper.xml</value>
       </list>
  </property>
<bean>
Run Code Online (Sandbox Code Playgroud)

log4j.logger.java.sql.Connection=debug, stdout, abclog
log4j.logger.java.sql.PreparedStatement=debug, stdout, abclog
log4j.logger.java.sql=debug, stdout, abclog
log4j.logger.org.mybatis=debug, stdout, abclog
log4j.logger.org.apache.ibatis=debug, stdout, abclog
Run Code Online (Sandbox Code Playgroud)

当我在日志中运行applicartion时,我没有看到SQL查询想知道我错过了什么

看到这篇文章如何为Mybatis配置log4j以打印我的SQL 建议更改mybatis类配置但不确定如何处理spring SqlSessionFactoryBean

logging spring log4j ibatis mybatis

6
推荐指数
4
解决办法
4万
查看次数

使用mybatis时如何从查询中更改值(null为空字符串)?

我正在做一个使用Spring 3.1.1和MyBatis3.0的项目.

我正在尝试将iBatis更改为MyBatis.但是,我正在努力使用resultmap.

使用iBatis时,我可以使用'nullValue'处理来自下面的查询中的值.

<resultMap class="java.util.HashMap" id="ChannelData">
        <result property="id"       javaType="java.lang.String"         column="CHANNEL_ID" nullValue=""/>
        <result property="code"         column="SELECTSCOPE"        nullValue="Television"/>
</resultMap>
Run Code Online (Sandbox Code Playgroud)

问题是MyBatis中没有'nullValue'.此外,如果列为"null",则mybatis永远不会填充该元素.例如.如果'SELECTSCOPE'为空,则会带来{id=aaa}.我需要一些像这样的数据 - > {id=aaa, code=''}.无论如何要处理这个?

PS

我查询超过20列.其中一些需要""当值为null时,其他人有自己的默认值一些字符串值.(如果我使用iBatis,'nullValue'是魔术关键字)我发现一些链接建议使用自定义类型处理程序,但使处理程序超过20可能是未来修复或维护混乱的原因.我需要一些简单的方法.

非常感谢:D

================================================== ====================================

我找到了带来一些空值的方法.它需要一些配置.

  • make config.xml,其中应包含有关MyBatis Config DTD和Settings的一些信息,如下所示
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL MAP Config 3.1//EN" 
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <settings>
      <setting name="callSettersOnNulls" value="true"/>
  </settings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

现在,我可以得到{id="aaa", code = null}.这是另外一个问题.如何设置查询的默认值?例如.如果'code'的值为null,那么我想把默认字符串'default'.所以结果应该改变形式 {id="aaa", code=null}{id="aaa",code="default"}.可能吗?

谢谢〜

null ibatis map mybatis typehandler

6
推荐指数
1
解决办法
2万
查看次数

如何重用带有参数的SQL片段?

我打算制作一个片段,用于重用参数.

<insert ...>
  <selectKey keyProperty="id" resultType="_long" order="BEFORE">
    <choose>
      <when test="_databaseId == 'derby'">
        VALUES NEXT VALUE FOR SOME_ID_SEQ
      </when>
      <otherwise>
        SELECT SOME_ID_SEQ.NEXTVAL FROM DUAL
      </otherwise>
    </choose>
  </selectKey>
  INSERT INTO ...
</insert>
Run Code Online (Sandbox Code Playgroud)

我可以使用参数创建SQL片段吗?

<sql id="selectKeyFromSequence">
  <selectKey keyProperty="id" resultType="_long" order="BEFORE">
    <choose>
      <when test="_databaseId == 'derby'">
        VALUES NEXT VALUE FOR #{sequenceName}
      </when>
      <otherwise>
        SELECT #{sequenceName}.NEXTVAL FROM DUAL
      </otherwise>
    </choose>
  </selectKey>
</sql>
Run Code Online (Sandbox Code Playgroud)

这样我可以像这样重用它们吗?

<insert ...>
  <include refid="...selectKeyFromSequence"/> <!-- How can I pass a parameter? -->
  INSERT INTO ...
</insert>
Run Code Online (Sandbox Code Playgroud)

这可能吗?

ibatis mybatis

6
推荐指数
1
解决办法
5862
查看次数