Mybatis动态创建表{未知名}

主要思想:

    将用户输入的字符解析拆开存放到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版权协议,转载请附上原文出处链接和本声明。