目前想实现一个按月份写入数据库的功能,比如test_201801.sql test_201802.sql。由于jpa的save方法,会先写数据表的实体类与数据表的名字绑定,然后就可以实现。请问我想实现的功能如何在jpa的基础上修改呢
1条回答 默认 最新
- 爱码少年 00fly.online 2018-11-10 10:35关注
mysql的话,需要在jdbcurl 配置allowMultiQueries=true
然后读取test_201801.sql test_201802.sql执行。sql文件内容包含建表,插值语句
例子SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO `user` VALUES ('1', 'name_525', '48'); INSERT INTO `user` VALUES ('2', 'name_367', '33'); INSERT INTO `user` VALUES ('3', 'name_630', '23'); INSERT INTO `user` VALUES ('4', 'name_230', '34');
关键代码例子
try (InputStream inputStream = getClass().getResourceAsStream("/sql/test_201801.sql")) { String sqlText = IOUtils.toString(inputStream, "utf-8"); logger.info("SQL = {}", sqlText); em.createNativeQuery(sqlText).executeUpdate(); }
回答完毕!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料