一。java执行sql脚本

参考博客:java调用SQL脚本执行的方案

1.Service层代码:目的随spring容器启动即执行

//Service层代码
@Component
public class InitCfcaDB {
final org.slf4j.Logger log = LoggerFactory.getLogger(getClass());
@PostConstruct
public void init(){
log.debug("初始化表结构....");
CfcaDbUtil.run();
}
}

2.util工具类

package com.csvalue.utils;

import com.csvalue.common.PropertiesUtils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.jdbc.ScriptRunner; import java.sql.Connection;
import java.sql.DriverManager; /*
* 初始化表结构
* */
public final class CfcaDbUtil {
public static final String driver = PropertiesUtils.getDBProperty("jdbc.driver");
public static final String url = PropertiesUtils.getDBProperty("jdbc.url");
public static final String username = PropertiesUtils.getDBProperty("jdbc.username");
public static final String userpwd = PropertiesUtils.getDBProperty("jdbc.userpwd"); public static void run(){
try {
Class.forName(driver);
//建立连接
Connection connection=DriverManager.getConnection(url,username,userpwd);
//创建ScriptRunner,用于执行SQL脚本
ScriptRunner scriptRunner=new ScriptRunner(connection);
scriptRunner.setErrorLogWriter(null);
scriptRunner.setLogWriter(null);
//执行sql脚本
scriptRunner.runScript(Resources.getResourceAsReader("sql/"+"filename"+".sql"));
connection.close();//关闭连接
System.out.println("=====success=========");
} catch (Exception e) {
e.printStackTrace();
}
} public static void main(String[] args){
run();
}
}

3.加载属性配置文件

package com.csvalue.common;

import java.util.ResourceBundle;

//加载属性配置文件
public class PropertiesUtils { private static ResourceBundle resource;
private static ResourceBundle resourceDB; static{
//读取配置文件 config 为文件名
resource = ResourceBundle.getBundle("properties/config");
resourceDB=ResourceBundle.getBundle("properties/jdbc");
} /**
* 提供外部访问的方法
* @param key
* @return
*/
public static String getProperty(String key){
//以String格式返回 key 对应的 value
return resource.getString(key);
} public static String getDBProperty(String key){
//以String格式返回 key 对应的 value
return resourceDB.getString(key);
} public static void main(String[] args){
//读取制定的key
String config = PropertiesUtils.getProperty("cfca.url");
System.out.println(config);
String url=PropertiesUtils.getDBProperty("jdbc.url");
System.out.println(url);
}
}

4.属性文件jdb.properties

#数据库连接配置信息
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mysql
jdbc.username=root
jdbc.userpwd=shiyufeng

启动java web项目,即执行。

二。

最新文章

  1. Fragment全解析系列(二):正确的使用姿势
  2. 关于QString中的arg()函数使用方法
  3. Iconfont矢量图标平台全面升级
  4. hibernate的懒加载问题
  5. SQL Server使用规范(转)
  6. Web前端开发实用的Chrome插件
  7. 数据库-增删改查操作SQL实现
  8. ElasticSearch 6.4.3 启动报错: [Cannot assign requested address: bind]
  9. avpicture_fill的实现
  10. 洛谷P3959 宝藏
  11. Python生成随机验证码,大乐透号码
  12. MySQL修改表、字段、库的字符集及字符集说明
  13. configure编译选项
  14. pycurl实例详解
  15. 【PHP】算法进阶,获取给定值的最优组合:虚拟币抵扣问题解决方案
  16. LeetCode 514----Freedom Trail
  17. 掌握zigbee网络里的相关的重要概论
  18. POJ2699:The Maximum Number of Strong Kings(枚举+贪心+最大流)
  19. sql中的笛卡尔积
  20. 问题:asp.net 点击button按钮调到页面顶部;结果:asp.net点击一个按钮,使页面跳转到本面页上的指定位置

热门文章

  1. mysql自动化审核工具Yearning
  2. RSA加密算法原理及RES签名算法简介(转载)
  3. 用CSS如何实现单行图片与文字垂直居中
  4. 文件操作:fopen()
  5. Centos 下硬盘分区的最佳方案
  6. 序列模式挖掘--SPADE算法
  7. vim文件编辑器
  8. 在oracle数据库里创建自增ID字段的步骤
  9. 关于int,bool,str
  10. java 从txt文本中随机获取名字