我是靠谱客的博主 年轻板凳,这篇文章主要介绍关于Java动态创建表,现在分享给大家,希望可以做个参考。

在mapper.xml里没有<CREATE>的写法,需要用<insert>传入动态创建表名,用update传的时候会发生一些错误,没有记录,在mapper.xml里写法如下

复制代码
1
2
3
4
5
6
7
8
9
10
11
<insert id="createTable" parameterType="com.myc.entity.xxxPo"> CREATE TABLE ${tablename} ( raysun_id INT UNSIGNED AUTO_INCREMENT, raysun_linkaddress VARCHAR(100) NOT NULL, raysun_channel_number VARCHAR(100) NOT NULL, raysun_channel_state VARCHAR(100) NOT NULL, raysun_time timestamp NOT NULL, PRIMARY KEY ( raysun_id )) ENGINE = MyISAM DEFAULT CHARSET = latin1; </insert>

注意在tablename哪里,要用$而不是#

关于经常遇到的   "There is no getter for property named 'tablename' in 'class java.lang.String'"的错误,发现自己忽略了mybatis的一个机制,

复制代码
1
2
3
4
5
//错误 void createTable(String tablename); //修改 void createTable(@Param(value = "tablename")String tablename);

在定时任务建表里,在service层用了cron做定时任务来自动建表,注意需要在上面加@EnableScheduling 注释来开启定时任务,cron的写法网上一大堆

复制代码
1
2
3
4
5
6
@Scheduled(cron = "* * * * * * ") private void configureTasks () { //建表代码逻辑自填 }

关于按月自动建表网上有很多,这只是一种

最后

以上就是年轻板凳最近收集整理的关于关于Java动态创建表的全部内容,更多相关关于Java动态创建表内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部