Java-Spring&;MyBatis-我如何绘制地图;级别“;XML文件中的db列
我是JavaSpring和我的Batis的新手,在映射DB列时遇到问题,DB列是Oracle中MyBatis3.4XML文件中的一个关键字 我正在使用JavaSpring2.2.11、Oracle19c和Mybatis3.4.0 映射器XML文件:Java-Spring&;MyBatis-我如何绘制地图;级别“;XML文件中的db列,spring,mybatis,oracle19c,Spring,Mybatis,Oracle19c,我是JavaSpring和我的Batis的新手,在映射DB列时遇到问题,DB列是Oracle中MyBatis3.4XML文件中的一个关键字 我正在使用JavaSpring2.2.11、Oracle19c和Mybatis3.4.0 映射器XML文件: <resultMap id="regionResultMap" type="org.idashboard.entity.Region"> <id column="code&q
<resultMap id="regionResultMap" type="org.idashboard.entity.Region">
<id column="code" property="code"/>
<result column="parent_code" property="parentCode"/>
<result column="ancestors" property="ancestors"/>
<result column="name" property="name"/>
<result column="level" property="level"/>
<result column="sort" property="sort"/>
<result column="remark" property="remark"/>
</resultMap>
SELECT code,
parent_code,
ancestors,
name,
level,
sort,
remark
FROM region
WHERE code = '110102';
错误描述:[Error]执行(30:8):ORA-01788:此查询块中需要CONNECT BY子句
出现问题是因为我在区域
表中使用了的“级别”
列
我如何解决这个问题?如何使用Oracle中的关键字列名
提前谢谢 我认为oracle有两种选择 首先是在查询中使用别名,但在本例中并不能为您解决任何问题,因为您使用xml中的名称级别对其进行了映射
第二,可以使用双引号(,例如“level”),在MySQL中,默认情况是使用反勾(`)我认为oracle中有两个选项 首先是在查询中使用别名,但在本例中并不能为您解决任何问题,因为您使用xml中的名称级别对其进行了映射 其次,可以使用双引号(“,例如“level”),在MySQL中,默认情况下使用反勾(`)试试看
SELECT code,
parent_code,
ancestors,
name,
"level",
sort,
remark
FROM region
WHERE code = '110102';
如果您需要在查询中使用关键字,oracle会使用双引号(“)将该单词标识为非关键字。在mysql中,您需要使用反勾号(`),以达到相同的目的。试试看
SELECT code,
parent_code,
ancestors,
name,
"level",
sort,
remark
FROM region
WHERE code = '110102';
在查询中需要使用关键字的情况下,oracle使用双引号(“)将该单词标识为非关键字。在mysql中,出于同样的目的,您需要使用backticks(`)。请不要只发布代码作为答案,还要解释代码的作用以及如何解决问题。带有解释的答案通常更有帮助,质量更好,并且更有可能吸引更多的投票。请不要只发布代码作为答案,还要解释代码的作用以及它如何解决问题。带有解释的答案通常更有帮助,质量更好,更容易吸引选票。