工作记录:mybatis

1、语句结尾不要加分号,否则报错:SQL 命令未正确结束
2、springboot中,mapper.xml和mapper接口如果不在同一个包下,需要在application文件中加上:
mybatis:mapper-locations: classpath:com/demo/mapper/impl/*.xml
3、xml中的Statement,必须加上resultMap,否则报异常:

org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 

4、

Error querying database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式
The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: select sum(a.transamount) amount,substr(F_WEEKBH,7,6)   week,substr(F_WEEKBH,0,6) month   from   DW_CAPPLAN_F_DAILYPAYMENTTRANSACTIONS a   left join (   select distinct   F_DATE,F_WEEKBH from lsa_narrow_sk_zjjhday   ) on   to_char(a.trandate,'yyyymmdd')=F_DATE   where a.trandate   <date ?   and to_char ( a.trandate , 'yyyymm') =? group by   F_WEEKBH
### Cause: java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式
 bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式
] with root cause

oracle.jdbc.OracleDatabaseException: ORA-00936: 缺失表达式

解决:把#{}换成${}
5、xml中<替换为&lt; >替换为&gt;
6、查询结果映射的实体对象为空(不是某个属性为空,而是对象为空)

java.lang.NullPointerException: null

解决:当sql字段返回值为空时 默认不映射。返回的字段都为空,service处理或application文件加上:mybatis-plus.configuration.call-setters-on-nulls=true
7、打印sql语句
在application文件添加logging.level.mapper路径,例如:
logging.level.com.demo.mapper
8、java.lang.IllegalArgumentException: Result Maps collection does not contain value
解决:resultMap=""的值填写有误
9、

### Error querying database.  Cause: java.sql.SQLException: 无效的 SQL 类型: sqlKind = UNINITIALIZED
### Cause: java.sql.SQLException: 无效的 SQL 类型: sqlKind = UNINITIALIZED
; uncategorized SQLException; SQL state [99999]; error code [17439]; 无效的 SQL 类型: sqlKind = UNINITIALIZED; nested exception is java.sql.SQLException: 无效的 SQL 类型: sqlKind = UNINITIALIZED] with root cause

原因:select标签后面有多余的">
10、mapper返回的list集合,数量正确,但属性为null
在这里插入图片描述
解决:resultMap中的column与property需一致,包括大小写也要一样
11、

There is no setter for property named 'SNAME' in 'class com.xxx.entity.xxx'

解决:resultMap中的column与property需一致,包括大小写也要一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值