`

ibatis 在mysql上面的调试遇到的问题集锦

 
阅读更多

(1)  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Every derived table must have its own alias
 表明嵌套的select语句生成的结果集必须被括号包围,并且声明别名。

 

(2) 动态标签dynamic

动态的一元标签dynamic隐式地具有值为true的removeFirstPrepend属性,那么在其所包含的内容体的第一个条件所含有的prepend属性值会被忽略,但是需要写成<dynamic prepend=" WHERE ">, 而不能写成WHERE <dynamic>, 并且如果所嵌套的内容体不含prepend属性的条件,不会被计算在内。

示例1: 正确

<dynamic prepend=" WHERE " >
  <isNotEmpty prepend=" AND " property="x">
     x = #x#
  </isNotEmpty>

  <isNotEmpty prepend=" AND " property="y">
     y = #y#
  </isNotEmpty>

</dynamic>

 

示例2: 错, 会生成where and x=?的错误SQL语句

WHERE

<dynamic >
  <isNotEmpty prepend=" AND " property="x">
     x = #x#
  </isNotEmpty>

    <isNotEmpty prepend=" AND " property="y">
     y = #y#
  </isNotEmpty>

</dynamic>

 

示例3: 错, 会生成where x=? y=? 的错误SQL语句

<dynamic prepend=" WHERE " >

  <isNotEmpty property="x">
     x = #x#
  </isNotEmpty>

    <isNotEmpty prepend=" AND " property="y">
     y = #y#
  </isNotEmpty>

</dynamic>

 

分享到:
评论

相关推荐

    搭建IBatis一:mysql环境搭建之被虐的酸爽篇

    标题中的“搭建IBatis一:mysql环境搭建之被虐的酸爽篇”表明这是一个关于如何在计算机环境中配置和使用IBatis框架与MySQL数据库的教程,其中可能涉及了作者在搭建过程中遇到的问题和解决方法。从描述中的链接可以...

    配置ibatis3.0时,发生的小错误

    在配置iBatis3.0时,可能会遇到各种小错误,这些错误往往由于不正确的配置、依赖缺失或者编码问题导致。以下是对这个主题的详细解释。 首先,让我们了解iBatis是什么。iBatis是一个优秀的持久层框架,它允许开发者...

    SQL+Jpetstore配置

    在配置过程中可能会遇到各种问题,以下是一些常见的错误及其解决方案: **1. 数据库连接失败** - **原因分析**:可能是由于数据库URL配置不正确或者数据库服务未启动导致的。 - **解决方案**: - 检查`database....

    mybatis乱码的解决方法

    在使用MyBatis框架进行数据操作时,可能会遇到字符编码问题,导致乱码现象。这里主要探讨的是关于MyBatis(以及它的前身iBatis)处理GBK和ISO-8859-1编码时出现的问题及其解决方案。 首先,我们要了解字符编码的...

    管理个人信息系统的设计与实现.docx

    这个系统采用了Struts、Spring、ExtJS、iBatis架构,利用JAVA作为开发语言,MySQL作为数据库,结合Tomcat等技术进行网站开发。以下是对系统设计、实现和相关知识点的详细阐述: 1. **系统设计**: - **需求分析**...

    java基础知识点67条

    - **MySQL**: 使用`org.gjt.mm.mysql.Driver`作为驱动,连接字符串为`jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8`,其中`root/root`为用户名和密码。 #### 17. 调试技巧 - 在IDE中...

    java开发的岗位职责-java开发岗位职责.docx

    2. **Linux命令:** 应聘者需要了解基本的Linux命令,这对于在Linux环境下部署和调试应用程序至关重要。 3. **数据库熟悉度:** 应熟悉主流数据库如MySql和Oracle等,这包括数据库的设计、查询以及性能优化等方面的...

    自整理Java关于基础和框架的面试题

    - **JDK**:Java开发工具包,包含编译器、调试器等工具。 - **JRE**:Java运行环境,包含JVM和类库。 - **JVM**:Java虚拟机,负责解释执行字节码。 ##### 报错的状态码 - 常见状态码:200(成功)、404(未找到)...

Global site tag (gtag.js) - Google Analytics