Java中嵌入式MySQL的使用方法介紹
這篇文件主要介紹在Java中嵌入式MySQL的使用,對於一些的應用項目,提供安裝版的Mysql,Oracle是必須的工作。但是有時候如果是一個小的工具,可安裝或者移植性比較強的小軟件。再去安裝數據庫可能就比較麻煩了。
其實MySQL也有嵌入式的,不需要安裝,在使用的過程中,會自動創建數據庫以及通過代碼的方式啟動或者關閉。下面提供一些代碼片段,具體的會提供下載地址。
這個是核心代碼類,這個類實現了Mysql 的啟動和停止以及數據庫的啟動狀態。
package l;import ;import Map;import ;import erties;import ;import ldResource;/** * * @author 李巖飛 * @email * 2016年11月2日 下午1:44:55 * */public final class EmbedMySqlServer { private MysqldResource mysqlInstance; //配置信息 public final Properties props; //端口信息 private String port; /** * 考慮到數據庫的性能問題,允許將數據庫放在其它磁盤 */ private String embedMySqlHome; public EmbedMySqlServer(final Properties props) { s = props; } public EmbedMySqlServer(final Properties props, String embedMySqlHome) { dMySqlHome = embedMySqlHome; s = props; } public final String getEmbedMySqlHome() { return null == embedMySqlHome ? getPlatformBaseDir() : embedMySqlHome; } /** * 獲得當前應用主目錄 * @return 當前應用啟動程序所在目錄. */ public static String getPlatformBaseDir() { return roperty(""); } public static boolean isBlank(final String str) { int strLen; if (str == null || (strLen = th()) == 0) { return true; } for (int i = 0; i < strLen; i++) { if (itespace(At(i)) == false) { return false; } } return true; } public void startup() { final File baseDir = new File(getEmbedMySqlHome(), "mysql-em"); mysqlInstance = new MysqldResource(baseDir); port = roperty("port"); if (isBlank(port)) ("port", port = eOf((int) (om() * 40000))); final Set
keys = et(); final Mapoptions = new HashMap(()); for (final Object key : keys) { final String val = roperty(ring()); if (""ls(val)) (ring(), null); else (ring(), ace("{$contextPath}", getPlatformBaseDir())); } if (!nning()) t("Em_MySQL", options, false, ains("defaults-file")); } public String getPort() { return port; } /** * 判斷mysql是否正在運行 */ public boolean isRunning() { return null == mysqlInstance ? false : nning(); } public void shutdown() { if (mysqlInstance != null) down(); } public void cleanup() { if (mysqlInstance != null) nup(); }}
下面這個是啟動Demo,
public static void main(String[] args) { try { Properties pro = new Properties(); //根據機器配置,設置不同的參數 (esourceAsStream("MySql_erties")); new EmbedMySqlServer(pro)tup(); //可以把數據庫放到其他磁盤 //new EmbedMySqlServer(pro,"f:")tup(); Connection conn = getTestConnection(); tln(osed()); e(); } catch (Exception e) { tStackTrace(); } }
MySql_erties一般機器的.配置樣例
MySql_erties中等機器的配置樣例
MySql_erties高配機的配置樣例
具體的參數可以根據不同需求進行定義,比如端口可以自由定義。
需要引用的mysql兩個jar,,
代碼在Git上,地址是:_
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。
-
Java中如何獲取Spring中配置的bean
Spring是一個分層的JavaSE/EEfull-stack(一站式)輕量級開源框架。在Java中如何獲取Spring中配置的'bean?下面本站小編帶大家一起來看看詳細操作,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!一、什麼是Spring?Spring是一個輕量級的控...
-
全國計算機等級《二級JAVA》命題預測試卷
以下是本站小編帶來的全國計算機等級《二級JAVA》命題預測試卷,歡迎學習!更多內容請關注應屆畢業生考試網!1、軟件生命週期是指()。A.軟件產品從提出、實現、使用維護到停止使用退役的過程B.軟件從需求分析、設計、實現到測試完成的過程,C.軟件的開發過程D.軟件...
-
Java語法基礎for語句練習
本文是本站小編搜索整理的關於Java語法基礎for語句練習,供參考學習,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!控制語句——for練習語句的嵌套應用累加求和,計數器循環嵌套一、語句的嵌套應用語句嵌套形式。其實就是語句中...
-
計算機二級JAVA考試構建JAVA程序2017
很多人一見到説要編程就以為很難,其實只有一點一滴學知識點也不難,下面是小編整理的計算機二級JAVA考試構建JAVA程序介紹,歡迎閲讀!第一個javaapplicationjava程序分為javaapplication(java應用程序)和javaapplet(java小應用程序)兩種。下面讓我們編寫一個java應...