开发者社区> 问答> 正文

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;

展开
收起
爱吃鱼的程序员 2020-06-14 14:43:31 761 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    码友,怎么解决的?回复<aclass='referer'target='_blank'>@繁华p落幕:thx感谢thx感谢像这种value="com.hongguaninfo.hgdf.adp.entity,com.hongguaninfo.hgdf.adp.entity.sys有两处,一处是实体类,一处是mapper,我们要确保我们新增加的类能被包含进去.其次要查看你的XXX-sql.xml是否正确,和原有的是否一致

    2020-06-14 14:43:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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