返回信息流两个表都没问题,三个表出问题,求帮助
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="/">
<resultMap id="LocationPhoneMap" type="LocationPhone">
<id property="LOCATIONID" column="plus_numtabmob.LOCATIONID" />
<result property="PHONENUM" column="PHONENUM" />
<!-- property代表对象的字段,column代表数据库中的列 -->
<association property="LOCATIONID" column="LOCATIONID"
javaType="LocationPhone">
<id property="LOCATIONID" column="plus_locationid.LOCATIONID" />
<id property="PROVINCEID" column="plus_locationid.PROVINCEID" />
<association property="PROVINCEID" column="PROVINCEID"
javaType="LocationPhone">
<id property="PROVINCEID" column="plus_provinceid.PROVINCEID"/>
<result property="PROVINCENAME" column="PROVINCENAME"/>
</association>
</association>
</resultMap>
<select id="selectProvinceName" resultMap="LocationPhoneMap">
<!-- select PROVINCEID from plus_locationid inner join plus_numtabmob
on plus_locationid.LOCATIONID = plus_numtabmob.LOCATIONID where PHONENUM="1859666"; -->
select PROVINCENAME from plus_provinceid inner join plus_locationid on
plus_provinceid.PROVINCEID = plus_locationid.PROVINCEID inner join plus_numtabmob
on plus_locationid.LOCATIONID = plus_numtabmob.LOCATIONID where PHONENUM="1859666";
</select>
</mapper>
报错:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/unisk/Desktop/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/unisk/.m2/repository/ch/qos/logback/logback-classic/1.1.1/logback-classic-1.1.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
2016-03-27 13:50:38,329 [main] DEBUG [/.selectProvinceName] - ==> Preparing: select PROVINCENAME from plus_provinceid inner join plus_locationid on plus_provinceid.PROVINCEID = plus_locationid.PROVINCEID inner join plus_numtabmob on plus_locationid.LOCATIONID = plus_numtabmob.LOCATIONID where PHONENUM="1859666";
2016-03-27 13:50:38,374 [main] DEBUG [/.selectProvinceName] - ==> Parameters:
org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.apache.ibatis.reflection.ReflectionException: Could not set property 'PROVINCEID' of 'class com.unisk.antifraud.dbobject.LocationPhone' with value 'com.unisk.antifraud.dbobject.LocationPhone@5b275dab' Cause: java.lang.IllegalArgumentException: argument type mismatch
### The error may exist in com/unisk/antifraud/map/locationPhone.xml
### The error may involve /.selectProvinceName
### The error occurred while handling results
### SQL: select PROVINCENAME from plus_provinceid inner join plus_locationid on plus_provinceid.PROVINCEID = plus_locationid.PROVINCEID inner join plus_numtabmob on plus_locationid.LOCATIONID = plus_numtabmob.LOCATIONID where PHONENUM="1859666";
### Cause: org.apache.ibatis.reflection.ReflectionException: Could not set property 'PROVINCEID' of 'class com.unisk.antifraud.dbobject.LocationPhone' with value 'com.unisk.antifraud.dbobject.LocationPhone@5b275dab' Cause: java.lang.IllegalArgumentException: argument type mismatch
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:111)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:102)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:98)
at com.unisk.antifraud.service.DBMatch.main(DBMatch.java:35)
Caused by: org.apache.ibatis.reflection.ReflectionException: Could not set property 'PROVINCEID' of 'class com.unisk.antifraud.dbobject.LocationPhone' with value 'com.unisk.antifraud.dbobject.LocationPhone@5b275dab' Cause: java.lang.IllegalArgumentException: argument type mismatch
at org.apache.ibatis.reflection.wrapper.BeanWrapper.setBeanProperty(BeanWrapper.java:175)
at org.apache.ibatis.reflection.wrapper.BeanWrapper.set(BeanWrapper.java:57)
at org.apache.ibatis.reflection.MetaObject.setValue(MetaObject.java:133)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.applyNestedResultMappings(DefaultResultSetHandler.java:808)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:758)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.applyNestedResultMappings(DefaultResultSetHandler.java:802)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:758)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForNestedResultMap(DefaultResultSetHandler.java:724)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:267)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:239)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:153)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:60)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:73)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:60)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:137)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:96)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:77)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:108)
... 3 more
Caused by: java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.ibatis.reflection.invoker.MethodInvoker.invoke(MethodInvoker.java:40)
at org.apache.ibatis.reflection.wrapper.BeanWrapper.setBeanProperty(BeanWrapper.java:170)
... 21 more
这是一条镜像帖。来源:北邮人论坛 / java / #48838同步于 2016/3/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[问题]mybatis 多表配置问题
ccqccq
2016/3/27镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复