一。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项目,即执行。

二。

SSM004/工作内容的更多相关文章

  1. 随心测试_软测基础_005 <测试人员工作内容>

    接上篇:清楚了_测试人员的工作职责范围,那每项 测试活动的具体工作内容有哪些呢? Q1:如何理解测试工程师的工作内容? A1:SX的观点:综合一体化 现如今互联网行业如何哪达,每一项IT职业的工作职责 ...

  2. linux运维工作内容及岗位要求

    什么是Linux?大家日常使用电脑听歌.打游戏娱乐或处理日常工作时,接触到最多的就是Windows操作系统,电脑如果不安装Windows系统是无法进行娱乐和工作的,所有的软件程序都必须运行在操作系统之 ...

  3. 【网站seo优化】SEO优化每天的工作内容是什么?

    [网站seo优化]SEO优化每天的工作内容是什么?从未知的领域来到seo,感到搜索引擎无比神奇,接触seo久了,有每天必做的工作内容,大量的seo从业者,每天的工作内容大同小异,主要做的工作有通过相应 ...

  4. dba工作内容

    一.数据库管理员的工作内容 关键词:dba工作内容 转自:http://blog.sina.com.cn/s/blog_44e0d0490102won1.html 1.规划与建设: 1.数据库服务器环 ...

  5. CentOS工作内容(七)禁用IPV6

    CentOS工作内容(七)禁用IPV6 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+e 移动到当前行的开头(e end) ctrl+u ...

  6. CentOS工作内容(六)双网卡带宽绑定bind teaming

    CentOS工作内容(六)双网卡带宽绑定bind  teaming Teaming功能是什么功能http://zhidao.baidu.com/link?url=cpcwl9LH4FSHJBaTW-e ...

  7. CentOS工作内容(五)单一网卡配置多个IP

    CentOS工作内容(五)单一网卡配置多个IP 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+e 移动到当前行的开头(e end) ct ...

  8. CentOS工作内容(四)主机禁ping

    CentOS工作内容(四)主机禁ping 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+u 删除(剪切)此处至开始所有内容 vim 末行 ...

  9. CentOS工作内容(三)配置网络IP地址

    CentOS工作内容(三)配置网络IP地址 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+u 删除(剪切)此处至开始所有内容 vim 末 ...

随机推荐

  1. maven生成jar包编码问题

    要做一个jar文件供外部调用,此jar的源代码中注释为中文,用maven打包后在其它工程中导入后总不能正常显示中文,记录解决方法如下: 在pom.xml中设置默认编码类型为UTF-8: <pro ...

  2. 轮子:读取config.ini文件

    python: 把config.ini文件成map返回 def get_conf(conf_file): conf = {} ll=list(map(lambda x: x.replace('&quo ...

  3. three months timestamp

    1.有效期三个月 package com.hengqin.life.idps; import java.text.SimpleDateFormat; import java.util.Calendar ...

  4. PHP大文件上传断点续传源码

    文件夹数据库处理逻辑 publicclass DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject(); ...

  5. Codeforces 622F The Sum of the k-th Powers ( 自然数幂和、拉格朗日插值法 )

    题目链接 题意 : 就是让你求个自然数幂和.最高次可达 1e6 .求和上限是 1e9 分析 :  题目给出了最高次 k = 1.2.3 时候的自然数幂和求和公式 可以发现求和公式的最高次都是 k+1 ...

  6. K8S容器探针

    容器探针 探针是由 kubelet对容器执行的定期诊断.要执行诊断, kubelet 调用由容器实现的    Handler .有三种类型的处理程序:   ExecAction :在容器内执行指定命令 ...

  7. 【转载】多网卡的7种bond模式原理

    多网卡的7种bond模式原理 Linux 多网卡绑定 网卡绑定mode共有七种(0~6) bond0.bond1.bond2.bond3.bond4.bond5.bond6 常用的有三种 mode=0 ...

  8. Latex生成的.pdf 公式之间隔了几行空白

    如题, 解决办法: \vspace{-1.5cm},这个数值根据需要来设置.

  9. Mysql 执行安装脚本报错Changed limits:

    安装Mysql软件的时候报错,如下: [root@db bin]# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/u01/app/m ...

  10. Unity3D_(游戏)控制物体的上、下、左、右移动

    通过键盘上↑.↓.←.→实现对物体的控制 using System.Collections; using System.Collections.Generic; using UnityEngine; ...