mybatis mapper执行错误

partys 2014-06-04 05:41:45

<context:property-placeholder location="/WEB-INF/conf/jdbc.properties"/>

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="${jdbc.initialSize}"/>
<property name="maxTotal" value="${jdbc.maxTotal}"/>
<property name="maxIdle" value="${jdbc.maxIdle}"/>
<property name="minIdle" value="${jdbc.minIdle}"/>
</bean>

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath:com/lining/vmservice/mapper/*Mapper.xml"/>
<property name="typeAliasesPackage" value="com.lining.vmservice.model" />
</bean>

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.lining.vmservice.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>

代码如下

@Service("vmGuestService")
public class VMGuestServiceImp implements VMGuestService {

@Autowired
private VMGuestMapper vmMapper;
/*
* <p>Title: createVMGuest</p>
* <p>Description: </p>
* @return
* @see com.lining.vmservice.service.VMGuestService#createVMGuest()
*/


@Override
public boolean createVMGuest(VMGuest vmGuest) {
// 下面这行报的错
vmMapper.insert(vmGuest);
return true;
}

}



错误信息如下:

SEVERE: Servlet.service() for servlet [liningcloud] in context with path [/liningVMservice] threw exception [Handler processing failed; nested exception is java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z] with root cause
java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
at org.apache.commons.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:914)
at org.apache.commons.dbcp2.PoolableConnection.validate(PoolableConnection.java:227)
at org.apache.commons.dbcp2.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:303)
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2165)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2148)
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:1903)
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1413)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:81)
at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67)
at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:279)
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:69)
at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:44)
at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:108)
at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:67)
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:145)
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:134)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:358)
at com.sun.proxy.$Proxy10.insert(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:240)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:79)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:40)
at com.sun.proxy.$Proxy11.insert(Unknown Source)
at com.lining.vmservice.service.imp.VMGuestServiceImp.createVMGuest(VMGuestServiceImp.java:44)
...全文
459 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
partys 2014-06-05
  • 打赏
  • 举报
回复
<mapper namespace="com.lining.vmservice.mapper.VMGuestMapper" >
  <resultMap id="BaseResultMap" type="com.lining.vmservice.model.VMGuest" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
    -->
    <id column="id" property="id" jdbcType="VARCHAR" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="vm_type" property="vmType" jdbcType="VARCHAR" />
    .........................
  </resultMap>
以上是我的resultMap
partys 2014-06-05
  • 打赏
  • 举报
回复
引用 5 楼 u010349169 的回复:
[/liningVMservice] threw exception [Handler processing failed; nested exception is java.lang.AbstractMethodE at com.sun.proxy.$Proxy11.insert(Unknown Source) 检查一下resultMap 和sql语句是否正确,nested exception 不是sql 语句有问题,就应该是resultmap映射有问题~
/**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table vmguest
     *
     * @mbggenerated
     */
    int insert(VMGuest record);
<insert id="insert" parameterType="com.lining.vmservice.model.VMGuest" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
    -->
    insert into vmguest (id, name, vm_type, 
      cpu_clock, cpu_count, memory_size, 
      architecture, os_type, power_state, 
      vm_state, create_date, update_date, 
      image_id, template_id, lserver_key
      )
    values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{vmType,jdbcType=VARCHAR}, 
      #{cpuClock,jdbcType=DOUBLE}, #{cpuCount,jdbcType=INTEGER}, #{memorySize,jdbcType=DOUBLE}, 
      #{architecture,jdbcType=INTEGER}, #{osType,jdbcType=VARCHAR}, #{powerState,jdbcType=VARCHAR}, 
      #{vmState,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}, #{updateDate,jdbcType=TIMESTAMP}, 
      #{imageId,jdbcType=VARCHAR}, #{templateId,jdbcType=VARCHAR}, #{lserverKey,jdbcType=VARCHAR}
      )
  </insert>

以上是我的代码 和sql
亦山 2014-06-05
  • 打赏
  • 举报
回复
[/liningVMservice] threw exception [Handler processing failed; nested exception is java.lang.AbstractMethodE at com.sun.proxy.$Proxy11.insert(Unknown Source) 检查一下resultMap 和sql语句是否正确,nested exception 不是sql 语句有问题,就应该是resultmap映射有问题~
partys 2014-06-05
  • 打赏
  • 举报
回复
顶!!!!!!
partys 2014-06-05
  • 打赏
  • 举报
回复
异常贴全了!
partys 2014-06-05
  • 打赏
  • 举报
回复
貌似是版本问题 我用的是mybatis-3.1.0.jar mybatis-spring-1.2.2.jar commons-pool2-2.2.jar jdk7
suciver 2014-06-04
  • 打赏
  • 举报
回复
异常信息都不全怎么看
  • 打赏
  • 举报
回复
这错误像是无法连接数据库。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧