1
我正在使用Mybatis框架进行数据库持久化,通过Jconn4.jar连接到Sybase数据库并在JBOSS 7应用程序服务器上部署我的应用程序。无法通过jconn4.jar/Sybase驱动程序版本7和Mybatis框架更新Sybase数据库中的多条记录
1)的MyBatis映射器 - CustomerMapper.xml
<update id="updateCustomerMapping" parameterType="java.util.Map" statementType="CALLABLE">
{call sp_update_customer(#{account_customer,jdbcType=CHAR,mode=IN},
#{customer_code,jdbcType=CHAR,mode=IN})}
</update>
2)的Sybase步骤
CREATE PROCEDURE dbo.sp_update_customer
(
@account_customer varchar(10),
@customer_code varchar(12)=NULL
)
3)的JBoss 7独立配置
<datasource jta="true" jndi-name="java:/SybaseDS" pool-name="SybaseDS" enabled="true" use-ccm="true">
<connection-url>jdbc:sybase:Tds:****:1000/****?chained=false</connection-url>
<driver-class>com.sybase.jdbc4.jdbc.SybDriver</driver-class>
<driver>sybase</driver>
<security>
<user-name>****</user-name>
<password>****</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseValidConnectionChecker"/>
<background-validation>true</background-validation>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseExceptionSorter"/>
</validation>
</datasource>
使用Jconn4.jar添加/更新/删除单个记录,但添加/更新/删除多个记录不起作用。
我怀疑问题是与jdbcType为CHAR在MyBatis的XML映射不兼容jconn4.jar.I也试过jdbcType为VARCHAR但还是没能解决这个问题。
相同的映射器配置(jdbcType = CHAR)适用于较早版本的Sybase驱动程序 - jconn3.jar。
请帮忙解决此错误。