mybatis取别名typeAliases标签的位置放错导致报错的解决

目录
  • mybatis取别名typeAliases标签的位置放错导致报错
    • 因为<typeAliases>位置放错,报如下错
    • 解决方案
  • mybatis取别名问题
    • 今天学习Mybatis时在取别名这里总是报错
    • 解决方案

mybatis取别名typeAliases标签的位置放错导致报错

学习mybatis的过程中,在全局配置文件SqlMapConfig.xml(名字自己取,可能不同)的配置中遇到许多坑。

在使用typeAliases标签取别名的时候,

因为<typeAliases>位置放错,报如下错

————————————————————————————————————————————————————

org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 27; columnNumber: 17; 元素类型为 "configuration" 的内容

必须匹配 "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,

plugins?,environments?,databaseIdProvider?,mappers?)"。

——————————————————————————————————————————————-——————

解决方案

原来各个标签节点是有排序规则的,我个人报错的情况是因为我把<typeAliases>标签

放在了<enviroments>后面。

至此问题解决!

mybatis取别名问题

今天学习Mybatis时在取别名这里总是报错

如图所示 错误信息:

Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 36; columnNumber: 17; 元素类型为 “configuration” 的内容必须匹配 “(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)”。

解决方案

最后发现只需要在定义别名的时候把typeAlias标签放在properties标签后面就好了

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--typeAlias用于配置别名。type属性指定的是实体类全限定类名。alias属性指定别名,当指定了别名就不区分大小写,linux中仍然区分大小写,且typeAlias标签必须放在properties后面-->
    <properties resource="jdbcConfig.properties">
    </properties>
    <typeAliases>
        <package name="domain"></package>
    </typeAliases>
    <!--配置环境-->
    <environments default="mysql">
        <!--配置mysql的环境-->
        <environment id="mysql">
            <!--配置事务的类型-->
            <transactionManager type="JDBC">
            </transactionManager>
            <!--配置数据源(连接池)-->
            <dataSource type="POOLED">
                <!--配置连接数据库的4个基本信息-->
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件
        如果是用注解来配置的话,此处应该使用class属性指定被注解的dao全限定类名
    -->
    <mappers>
        <package name="dao"/>
    </mappers>
</configuration>

之后运行就正常了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们.

(0)

相关推荐

  • mybatis 在typeAliases别名时报错的解决

    目录 mybatis 在typeAliases别名时报错 原因 mybatis typeAliases别名标签 单个的取别名 一次性给所有pojo取别名 内置别名 mybatis 在typeAliases别名时报错 Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### Cause: org.apache.ibatis

  • Mybatis配置之<typeAliases>别名配置元素解析

    在前面的文章<Mybatis配置之<properties>属性配置元素详述>,我们讲述了<properties>标签元素的配置和使用方法. 在这篇文章中,我们来说说<typeAliases>标签元素,这个元素主要是用于对类型进行别名控制,具体什么意思呢?我们下面用一个示例说明,看了之后我相信你就会明白了. 这里我们贴出之前的UserDao对应的mapper文件 如下所示: <?xml version="1.0" encoding=&

  • MyBatis中基于别名typeAliases的设置

    MyBatis 别名typeAliases的设置 第一种:通过在配置文件中typeAlias节点设置type的方式 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd&

  • Mybatis实现单个和批量定义别名typeAliases

    目录 单个和批量定义别名typeAliases 一.使用和不使用别名的区别是 二.如何定义单个别名 三.如何批量定义别名 typeAliases别名配置元素详述 单个和批量定义别名typeAliases 使用Mybatis的别名typeAliases可以在xml文件里非常方便的使用类,而不需要写出这个类的全部路径 一.使用和不使用别名的区别是 不使用别名时:parameterType中需要写出这个类的全路径,特别麻烦 <insert id="saveCity" keyProper

  • mybatis typeAliases 给实体类起别名的方法

    typeAliases 在我们开发中,Mapper中的实体类每次都要写上包名,是不是特别的麻烦 针对这一现象,myabtis提供了解决方案,简化开发 typeAliases标签 第一种用法 在主配置文件中 配置[不是映射文件,而是主配置文件] <typeAliases> <!--type:实体类的具体全限定类名, alias:别名--> <typeAlias type="com.yixuexi.entity.User" alias="User&q

  • mybatis取别名typeAliases标签的位置放错导致报错的解决

    目录 mybatis取别名typeAliases标签的位置放错导致报错 因为<typeAliases>位置放错,报如下错 解决方案 mybatis取别名问题 今天学习Mybatis时在取别名这里总是报错 解决方案 mybatis取别名typeAliases标签的位置放错导致报错 学习mybatis的过程中,在全局配置文件SqlMapConfig.xml(名字自己取,可能不同)的配置中遇到许多坑. 在使用typeAliases标签取别名的时候, 因为<typeAliases>位置放错

  • Mybatis Mapper中多参数方法不使用@param注解报错的解决

    目录 问题描述 寻求解决方案 寻找原因 拓展延伸 在使用低版本的Mybatis的时候,Mapper中的方法如果有多个参数时需要使用@param注解,才能在对应xml的sql语句中使用参数名称获取传入方法的参数值,否则就会报错.本文结合自身在真实开发环境中使用IDEA开发时遇到的问题来共同探讨一下不使用@Param注解报错背后的原因以及解决方案. 问题描述 最近使用IDEA进行开发,项目使用SpringBoot+Mybatis3.4.6,同样的代码检出到本地IDEA后运行,在一个业务查询模块报错,

  • Oracle+Mybatis的foreach insert批量插入报错的快速解决办法

    最近做一个批量导入的需求,将多条记录批量插入数据库中. 解决思路:在程序中封装一个List集合对象,然后把该集合中的实体插入到数据库中,因为项目使用了MyBatis,所以打算使用MyBatis的foreach功能进行批量插入.期间遇到了"SQL 命令未正确结束 "的错误,最终解决,记录下来供以后查阅和学习. 首先,在网上参考了有关Mybatis的foreach insert的资料,具体如下: foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach

  • Mybatis Plus查询时sql字段名大小写报错的解决

    目录 Mybatis Plus查询时sql字段名大小写报错 遇到报错 错误解析 解决方案 Mybatis Plus返回map大小写问题 Mybatis Plus查询时sql字段名大小写报错 遇到报错 错误解析 在数据库中没有找到img_url 列 数据库字段名是是大写 解决方案 在application.properties中加: mybatis-plus.configuration.map-underscore-to-camel-case=false 完美运行~ Mybatis Plus返回m

  • mybatis中orderBy(排序字段)和sort(排序方式)引起的bug及解决

    目录 引言 问题叙述 下面尝试采用第二种方式 第三种方式 3.1 首先是什么都不传 3.2 传入排序字段oderBy 引言 记录一个mybatis实现动态字段的排序和动态的升降序问题 实现效果如下: 问题叙述 在这里无论使用postman是否传递sort的值, 都不生效, postman 执行的sql日志 ==>  Preparing: select sum(acd.read_view_count) as read_view_count,sum(acd.read_person_count) as

  • Mybatis中typeAliases标签和package标签使用

    目录 typeAliases标签和package标签的使用 1.typeAliases 2.package properties,typeAliases,package三个标签使用以及细节 typeAliases标签和package标签的使用 1.typeAliases 主配置文件: <typeAliases> <typeAlias type="com.itheima.domain.User" alias="user"></typeAl

  • MyBatis的 config.xml标签

    <?xml version="1.0" encoding="UTF-8" ?> <configuration><!-- 配置 --> <!-- <properties resource="XXXXXX.properties" /> 或者使用properties配置文件 读取顺序优先级次之 读取顺序参数传递优先级最低 --> <properties><!-- 属性 --&

随机推荐