SSM004/工作内容
一。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/工作内容的更多相关文章
- 随心测试_软测基础_005 <测试人员工作内容>
接上篇:清楚了_测试人员的工作职责范围,那每项 测试活动的具体工作内容有哪些呢? Q1:如何理解测试工程师的工作内容? A1:SX的观点:综合一体化 现如今互联网行业如何哪达,每一项IT职业的工作职责 ...
- linux运维工作内容及岗位要求
什么是Linux?大家日常使用电脑听歌.打游戏娱乐或处理日常工作时,接触到最多的就是Windows操作系统,电脑如果不安装Windows系统是无法进行娱乐和工作的,所有的软件程序都必须运行在操作系统之 ...
- 【网站seo优化】SEO优化每天的工作内容是什么?
[网站seo优化]SEO优化每天的工作内容是什么?从未知的领域来到seo,感到搜索引擎无比神奇,接触seo久了,有每天必做的工作内容,大量的seo从业者,每天的工作内容大同小异,主要做的工作有通过相应 ...
- dba工作内容
一.数据库管理员的工作内容 关键词:dba工作内容 转自:http://blog.sina.com.cn/s/blog_44e0d0490102won1.html 1.规划与建设: 1.数据库服务器环 ...
- CentOS工作内容(七)禁用IPV6
CentOS工作内容(七)禁用IPV6 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+e 移动到当前行的开头(e end) ctrl+u ...
- CentOS工作内容(六)双网卡带宽绑定bind teaming
CentOS工作内容(六)双网卡带宽绑定bind teaming Teaming功能是什么功能http://zhidao.baidu.com/link?url=cpcwl9LH4FSHJBaTW-e ...
- CentOS工作内容(五)单一网卡配置多个IP
CentOS工作内容(五)单一网卡配置多个IP 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+e 移动到当前行的开头(e end) ct ...
- CentOS工作内容(四)主机禁ping
CentOS工作内容(四)主机禁ping 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+u 删除(剪切)此处至开始所有内容 vim 末行 ...
- CentOS工作内容(三)配置网络IP地址
CentOS工作内容(三)配置网络IP地址 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+u 删除(剪切)此处至开始所有内容 vim 末 ...
随机推荐
- Django-csrf中间件
一.详解csrf原理 csrf要求发送post,put,或者delete请求的时候,是先以get方式发送请求,服务端响应时会分配一个随机字符串给客户端,客户端第二次发送post,put或delete请 ...
- python 安装第三方包
python环境是Anaconda3安装的,由于项目需要用到git的第三方包,但是在conda自带的环境中没有. 例如使用jieba分词库. 安装的三种方式: (1)全自动安装:`easy_insta ...
- css中".",",",“~”和“>”符号的意义
css中“~” element1~element2 选择器匹配出现在element1后面的element2.element1和element2这两种元素必须具有相同的父元素,但element2不必紧跟 ...
- 【leetcode】1247. Minimum Swaps to Make Strings Equal
题目如下: You are given two strings s1 and s2 of equal length consisting of letters "x" and &q ...
- CF1073D Berland Fair 二分+线段树
考场上切的,挺简单的~ Code: #include <cstdio> #include <algorithm> #define N 200005 #define inf 10 ...
- D. Tokitsukaze, CSL and Stone Game ( 取石子游戏?no,更像棋盘游戏 )
去吧,皮皮虾 题意: 有 n 堆石子,每堆有 a[ i ] 个,然后每次 操作 可以选择任意一堆 石子,取走一个. 若你取完了之后,存在两堆石子,他们的个数一样多,你就输了( 包括两堆都是0个), ...
- “编程小白学python”阅读笔记
今天在豆瓣搜索“python”关键字,搜到一本知乎周刊,读来觉得不错 编程小白学python ,作者@萧井陌, @Badger 书中提到的很多书,第一次看惊呆了,记录下来,希望每周回看此博文,坚持学习 ...
- POJ 3723 征兵问题(最小生成树算法的应用)
Conscription Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15923 Accepted: 5510 Des ...
- 文献引用 .bib文件里有公式符号
问题: 有时候文献标题带有特殊公式符号,进行BibTex编译时,会识别不出来公式符号. 例如: .bib文件里的文献: @article{XIE201892, title = "ℋ∞ con ...
- sqli-labs(4)
sqli-libs(4)通关过程 0x01爱之初体验 首先我们进行注入试探 发现我们的单引号 回显事正常的 双引号回显反而是错误的 查看源码我们发现 多了一个给id赋值的语句 我们在php上面执行一下 ...