开发者社区> 问答> 正文

mybatis配置问题(已经解决) 配置报错 

问题是这样的,当我每次添加新的实体类的时候,不管是不是放在已经存在的包中,在tomcat启动的时候
总是会报错(好像是一直在校验sql),有时候我弄一下莫名其妙的就好了,想知道为什么会这样.以下是配置以及问题:

2015-07-10 09:40:58.007 [localhost-startStop-1] DEBUG                 c.h.h.a.c.i.OffsetLimitInterceptor-OffsetLimitInterceptor.dialect=com.hongguaninfo.hgdf.core.utils.jdbc.dialect.MySQLDialect(这条信息会一直刷新,起码要四五分钟才能过去)

.MySQLDialect的内容:
public class MySQLDialect extends Dialect {

    public boolean supportsLimitOffset() {         return true;     }

    public boolean supportsLimit() {         return true;     }

    public String getLimitString(String sql, int offset, String offsetPlaceholder, int limit, String limitPlaceholder) {         if (offset > 0) {             return sql + " limit " + offsetPlaceholder + "," + limitPlaceholder;         } else {             return sql + " limit " + limitPlaceholder;         }     }

}
mybatis配置:
<!-- myBatis配置SqlSessionFactoryBean -->     <bean id="mySqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

        <property name="dataSource" ref="dataSource" />

        <property name="configLocation" value="classpath:/mybatis/mybatis-config.xml" />

        <!-- typeAliasesPackage 多值可逗号分隔 -->

        <property name="typeAliasesPackage"

            value="com.hongguaninfo.hgdf.adp.entity,com.hongguaninfo.hgdf.adp.entity.sys,com.hongguaninfo.hgdf.adp.entity.feature,com.hongguaninfo.hgdf.adp.entity.other,com.hongguaninfo.hgdf.adp.entity.product" />

        <property name="mapperLocations">

            <list>

                <value>classpath*:/mybatis/**/*-sqlmap.xml</value>

            </list>

        </property>

    </bean>

    <!-- 通过扫描的模式,扫描mapper目录下,所有的mapper都继承SqlMapper接口的接口 -->

    <!-- 可使用逗号或分号建立多个basePackage -->

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

        <!-- basePackage 多值可分号分隔 -->

        <property name="basePackage"

            value="com.hongguaninfo.hgdf.adp.mapper,com.hongguaninfo.hgdf.adp.mapper.sys,com.hongguaninfo.hgdf.adp.mapper.feature,com.hongguaninfo.hgdf.adp.entity.other,com.hongguaninfo.hgdf.adp.mapper.product" />

        <property name="markerInterface" value="com.hongguaninfo.hgdf.adp.core.base.BaseSqlMapper" />

        <property name="sqlSessionFactoryBeanName" value="mySqlSessionFactory" />

    </bean>

mapper的位置:
<mapper namespace="com.hongguaninfo.hgdf.adp.mapper.product.TbCatalogNodeMapper">
实体类的位置:
com.hongguaninfo.hgdf.adp.entity.product;

展开
收起
kun坤 2020-05-31 18:28:25 759 0
1 条回答
写回答
取消 提交回答
  • 码友,怎么解决的?######回复 @繁华p落幕 : thx感谢######thx感谢######像这种value="com.hongguaninfo.hgdf.adp.entity,com.hongguaninfo.hgdf.adp.entity.sys 有两处,一处是实体类,一处是mapper,我们要确保我们新增加的类能被包含进去. 其次要查看你的XXX-sql.xml 是否正确,和原有的是否一致

    2020-05-31 18:28:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第6讲】:Spring Boot 2.0实战MyBatis与优化(Java面试题) 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载