`
53873039oycg
  • 浏览: 843891 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Mybatis 值为 "before" 的属性 "order" 必须具有列表 "BEFORE AFTER " 中的值

 
阅读更多

       今天使用Mybatis,配置了XML文件后,启动时候报错,错误信息如下

       

Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 9; columnNumber: 22; 值为 "before" 的属性 "order" 必须具有列表 "BEFORE AFTER " 中的值。
	at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:253)
	at org.apache.ibatis.parsing.XPathParser.<init>(XPathParser.java:122)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:75)
	at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:318)
	at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:104)
	... 26 more

    xml中的insert配置如下

   

<selectKey keyProperty="rptqueryId" order="before"
			resultType="long">
			select rpt_seq$seq.nextval from dual
		</selectKey>

   错误原因

   order值必须为BEFORE  AFTER中的一个,大小写敏感

 

   改正:把before改为BEFORE

 

   全文完

     

0
0
分享到:
评论

相关推荐

    MyBatis 需要注意的地方junit注解

    如:order by #{user_id},如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中。如:order by ${user_id}, 如果传入...

    MyBatis主键自动生成方法.pdf

    这里`order="BEFORE"`表示在执行`INSERT`语句之前获取序列值,`keyColumn="id"`指定了结果应设置的目标属性,`resultType="_int"`指定了结果类型为整数。Oracle的`nextval`函数用于获取序列的下一个值。 3. `...

    mybatis教程之动态sql语句[收集].pdf

    3. **order**:`order` 属性有两个可能的值,`BEFORE` 和 `AFTER`。`BEFORE` 表示先执行 `&lt;selectKey&gt;` 语句,然后进行插入操作;`AFTER` 则相反,先执行插入,再获取主键。通常为了确保主键的正确生成,我们会设置...

    JavaEE企业级应用开发教程(Spring+SpringMVC+MyBatis)习题(2022).pdf

    12. MyBatis 的插入操作:MyBatis 的插入操作在映射文件中是通过配置 &lt;insert&gt; 元素来实现的,其中 &lt;insert&gt; 元素的 &lt;selectKey&gt; 子元素的 order 属性可以被设置为 BEFORE 或 AFTER。 13. MyBatis 的映射文件:...

    MyBatis学习之三动态SQL语句[借鉴].pdf

    - `order`: 可以是`BEFORE`或`AFTER`,分别表示在插入语句之前或之后执行。通常为了确保能获取到新生成的主键,我们将其设置为`BEFORE`。 - `statementType`: 指定SQL语句的类型,可以是`STATEMENT`、`PREPARED`或`...

    详解MyBatis批量插入数据Mapper配置文件的写法

    `order="AFTER"` 表示在执行完插入操作后获取主键值,如果数据库不支持自增主键,可以改为`order="BEFORE"`,让MyBatis生成一个唯一的ID。 ```xml &lt;selectKey resultType="long" keyProperty="id" order="AFTER"&gt; ...

    mybatis中oracle实现分页效果实例代码

    MyBatis中Oracle实现分页效果实例代码 MyBatis是一款流行的持久层框架,能够帮助开发者快速实现数据库交互操作。其中,分页查询是常见的数据库操作之一。下面,我们将详细介绍MyBatis中Oracle实现分页效果实例代码...

    Mybatis映射文件实例详解

    `keyProperty`属性指定要设置的属性名,`resultType`指定返回的类型,`order`属性可以设置为"AFTER"或"BEFORE",表示在插入语句之前或之后执行。 4. **POJO对象**: 在映射文件中,POJO对象可以作为参数或结果集。...

    mybatis教程之动态sql语句借鉴.pdf

    - `order`:定义执行顺序,`BEFORE` 表示先执行生成主键,再执行插入;`AFTER` 则相反。 - `statementType`:指定 SQL 语句的类型,可以是 `STATEMENT`、`PREPARED` 或 `CALLABLE`,分别对应 Statement、...

    spring相关的demo,包含spring的ioc注入,aop的使用,mybatis的整合(1).zip

    Spring AOP可以通过注解或XML配置实现,比如`@Aspect`、`@Before`、`@After`等。 3. **Spring与MyBatis的整合**:`14spring4_mybatis03`和`17ssm_annotation`文件可能涉及到Spring与MyBatis的集成,这通常包括配置...

    详解Java的MyBatis框架中动态SQL的基本用法

    `&lt;selectKey&gt;`标签的`keyProperty`属性指定了结果应该设置的属性名,`resultType`定义了返回值的类型,`order`决定了执行顺序(`BEFORE`或`AFTER`),`statementType`则指定了SQL语句的形式(`STATEMENT`, `PREPARED...

    Mybatis示例之SelectKey的应用

    在一些支持自动增长类型的数据库中,如Mysql,order需要设置为after,否则将无法获取正确的值。在一些取序列的情况下,如Oracle,需要设置为before,否则将报错。 下面是一个xml和注解的例子,演示了SelectKey的...

    详解Mybatis通用Mapper介绍与使用

    3. ORDER:&lt;seletKey&gt; 中的order属性,可选值为BEFORE和AFTER 4. catalog:数据库的catalog,如果设置该值,查询的时候表名会带catalog设置的前缀 5. schema:同catalog,catalog优先级高于schema 6. seqFormat:...

    JAVA面试题

    在SpringBoot中使用AOP,可以通过`@Aspect`注解定义切面,利用`@Before`、`@After`等注解来指定方法的执行时机。 #### 索引创建 在数据库中创建索引是为了提高数据检索的速度。创建索引的基本语法如下: ```sql ...

Global site tag (gtag.js) - Google Analytics