SpringBoot中使用注解如下:
@Insert("insert into collect_#{tblNum}(id,user_id,resource_id,resource_name,author,album,resource_type,create_time,update_time)" +
" values (uuid(),#{userId},#{collect.resourceId},#{collect.resourceName},#{collect.author}," +
"#{collect.album},#{collect.resourceType},#{time},#{time})")
报错提示找不到表
2018-06-20 08:55:04.398 ERROR [http-nio-9902-exec-2][CollectController.java:69] - org.springframework.jdbc.UncategorizedSQLException:
### Error updating database. Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'into collect_?(id,user_id,r',expect QUES, actual QUES collect_ : insert into collect_?(id,user_id,resource_id,resource_name,author,album,resource_type,create_time,update_time) values (uuid(),?,?,?,?,?,?,?,?)
### SQL: insert into collect_?(id,user_id,resource_id,resource_name,author,album,resource_type,create_time,update_time) values (uuid(),?,?,?,?,?,?,?,?)
### Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'into collect_?(id,user_id,r',expect QUES, actual QUES collect_ : insert into collect_?(id,user_id,resource_id,resource_name,author,album,resource_type,create_time,update_time) values (uuid(),?,?,?,?,?,?,?,?)
; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; sql injection violation, syntax error: syntax error, error in :'into collect_?(id,user_id,r',expect QUES, actual QUES r1_mini_collect_ : insert into collect_?(id,user_id,resource_id,resource_name,author,album,resource_type,create_time,update_time) values (uuid(),?,?,?,?,?,?,?,?); nested exception is java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'into r1_mini_collect_?(id,user_id,r',expect QUES, actual QUES collect_ : insert into collect_?(id,user_id,resource_id,resource_name,author,album,resource_type,create_time,update_time) values (uuid(),?,?,?,?,?,?,?,?)
解决办法:将collect_#{tblNum}修改为collect_${tblNum}即可解决问题。
参考文章: