mybatis报错 Caused by: java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式
我原来是这样写的
<select id="Messages" resultType="Stor">
select
<include refid="store"></include>,
PRO.code as Code,
PROC.name as Name,
from STORE
<where>
1==1
</where>
</select>
有两个错误
1.我使用<include>
标签引用了一段SQL片段,在SQL片段中
我没有些数据库的名称 而是用了别名b 所以 应该为STORE表别买加个b 改成 from STORE b
2. PROC.name as Name 自己认为 PROC是数据库名 ,但sql语句不知道。把它删掉
除此之外,没有查询条件 <where> 1==1 </where>可以删掉,<where> 1==1 </where>确保了<where>
标签总是会生成WHERE
关键字,无论后面是否添加了其他条件。然而,这种做法并不是推荐的做法,因为它增加了代码的复杂性和不必要的混淆。在大多数情况下,应该尽量避免使用1==1
这样的始终为真的条件。