com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''cust_fdss_calc_fzld_mn_branch_percent_2' WHERE view_id = 'view_id_1000016'' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
DELETE FROM ? WHERE view_id = ?
在参数传递的时候,view_id的占位符是正常的,但是表名的占位符被翻译成String,所以 解析sql的时候就报错了.
解决方法:动态拼接+参数传递
DELETE FROM "+ pojo.getName()+ " WHERE view_id = ?