主要思想:
将用户输入的字符解析拆开存放到list中,在xml中通过foreach遍历list,来遍历list字段。
//动态生成数据表
void insertTable(@Param("columns")List list,@Param("name")String name)throws Exception;
<insert id="insertTable" parameterType="list" >
create table `${name}` (
`id` int(11) key ,
<foreach collection="columns" item="temp" separator="," index="index" >
`${temp}` varchar(200)
</foreach>
)ENGINE=InnoDB DEFAULT CHARSET=utf8
</insert>其实在写上述代码的时候我也debug了很久,一直报我SQL语句错误。
后来加上了 ` 这个符号,才不报错了,那这个啥意思呢?
百度了一波:
避免和 mysql 的本身的关键字 冲突 所以 用这个符号括起来 虽然有时候不影响 查询 但是最好是要 加上的
可能是我传的字段与mysql关键字冲突了。这才解决了问题。
版权声明:本文为huaixiaohai_1原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。