首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

ibatis 在mysql下面的调试遇到的有关问题集锦

2012-09-10 
ibatis 在mysql上面的调试遇到的问题集锦(1)? Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorE

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>

?

热点排行
Bad Request.