MyBatis异常-Property 'configLocation' not specified, using default MyBatis Configuration

Posted 徐刘根

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis异常-Property 'configLocation' not specified, using default MyBatis Configuration相关的知识,希望对你有一定的参考价值。

配置文件如下:

技术分享

base-context.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!--用于激活容器中注册的bean-->
    <!--<context:annotation-config/>-->

    <context:property-placeholder location="classpath*:/props/*.properties" ignore-unresolvable="true"/>

    <context:component-scan base-package="com.ufind.server.*">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
</beans>

db-mybatis.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath:mybatis/mappers/*.xml"/>
    </bean>

    <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.ufind.server.infra.repository.sql"/>
        <property name="sqlSessionFactoryBeanName" value="sessionFactory"/>
    </bean>
</beans>

persistence-context.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="dataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          init-method="init" destroy-method="close">
        <!-- 数据库基本信息配置 -->
        <property name="driverClassName" value="${db.jdbc.driver}"/>
        <property name="url" value="${db.jdbc.connection.url}"/>
        <property name="username" value="${db.jdbc.username}"/>
        <property name="password" value="${db.jdbc.password}"/>
        <!-- 初始化连接数量 -->
        <property name="initialSize" value="10"/>
        <!-- 最大并发连接数 -->
        <property name="maxActive" value="100"/>
        <!-- 最小空闲连接数 -->
        <property name="minIdle" value="20"/>
        <!-- 配置获取连接等待超时的时间 -->
        <property name="maxWait" value="5000"/>
        <!-- 超过时间限制是否回收 -->
        <property name="removeAbandoned" value="true"/>
        <!-- 超过时间限制多长; -->
        <property name="removeAbandonedTimeout" value="120000"/>
        <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
        <property name="timeBetweenEvictionRunsMillis" value="60000"/>
        <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
        <property name="minEvictableIdleTimeMillis" value="40000"/>
        <!-- 用来检测连接是否有效的sql,要求是一个查询语句-->
        <property name="validationQuery" value="select 1"/>
        <!-- 申请连接的时候检测 -->
        <property name="testWhileIdle" value="true"/>
        <!-- 申请连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
        <property name="testOnBorrow" value="false"/>
        <!-- 归还连接时执行validationQuery检测连接是否有效,配置为true会降低性能  -->
        <property name="testOnReturn" value="false"/>
        <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
        <property name="poolPreparedStatements" value="true"/>
        <property name="maxPoolPreparedStatementPerConnectionSize"
                  value="50"/>
        <!--属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:
                监控统计用的filter:stat
                日志用的filter:log4j
               防御SQL注入的filter:wall -->
        <property name="filters" value="stat"/>
    </bean>
</beans>

在mappers下边是mybatis的xml文件,启动的时候出现错误:

DEBUG o.m.spring.SqlSessionFactoryBean - Property ‘configLocationnot specified, using default MyBatis Configuration

技术分享

解决方式如下:

 <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath:mybatis/mappers/*.xml"/>
        <property name="configLocation" value="classpath:spring/persistence-context.xml"/>
    </bean>

在sessionFactory下加入:

<property name="configLocation" value="classpath:spring/persistence-context.xml"/>

添加persistence-context.xml的位置即可,或者所有的文件都在一个文件即可

以上是关于MyBatis异常-Property 'configLocation' not specified, using default MyBatis Configuration的主要内容,如果未能解决你的问题,请参考以下文章

mybatis 异常 There is no getter for property named 'bizId' in 'class java.lang.Long'(示

Mybatis异常There is no getter for property named 'XXX' in 'class java.lang.String'(示例代

Mybatis-no getter for property named 'col_name' in 'class com.xxx.onebean'

There is no getter for property named 'user' in 'class com.jyr.wh.domain.User' 异常(示例

Unknown property 'mybatis-plus'

spring boot 2.0.0 + mybatis 报:Property 'sqlSessionFactory' or 'sqlSessionTemplate' a