首頁  >  文章  >  資料庫  >  mysql embedded是什麼

mysql embedded是什麼

藏色散人
藏色散人原創
2023-04-05 11:10:532366瀏覽

mysql embedded是一種函式庫,該函式庫提供了一種在整合測試中運行真實MySql的方法;使用者可以透過整合此jar包,實現內嵌式MySQL,不需要安裝Mysql,即可進行資料庫增刪改查等相關操作。

mysql embedded是什麼

#本教學操作環境:Windows10系統、mysql8版本、 Dell G3電腦。

EmbeddedMySql的使用

#什麼是 Embedded MySql ?

Embedded MySql函式庫提供了一種在整合測試中執行真實MySql的方法。我們可以透過整合此jar包,實現內嵌式MySQL,不需要安裝Mysql,即可進行資料庫增刪改查等相關操作。

嵌入式MySql 的使用

#首先引入maven依賴

 <dependency>
      <groupId>com.wix</groupId>
      <artifactId>wix-embedded-mysql</artifactId>
      <version>4.6.1</version>
      <scope>test</scope>
 </dependency>

接下來就是Java程式碼的使用。配置內嵌資料庫啟動的相關參數。

import com.wix.mysql.config.MysqldConfig;import com.wix.mysql.EmbeddedMysql;import static com.wix.mysql.ScriptResolver;import java.util.concurrent.TimeUnit;import static com.wix.mysql.config.MysqldConfig.aMysqldConfig;import static com.wix.mysql.EmbeddedMysql.anEmbeddedMysql;import static com.wix.mysql.distribution.Version.v5_6_23;import static com.wix.mysql.config.Charset.UTF8;public class EmbeddedMysqlConfig {

	private EmbeddedMysql mysqld;

	public void launchDb(){
		//mysql版本
		MysqldConfig config = aMysqldConfig(v5_6_23)
				.withCharset(UTF8)
				//端口号
				.withPort(13306)
				//用户名密码
				.withUser("root", "123456")
				//时区
				.withTimeZone("Asia/Shanghai")
				.withTimeout(2, TimeUnit.MINUTES)
				.withServerVariable("max_connect_errors", 666)
				.build();

		mysqld = anEmbeddedMysql(config)
				//初始化数据表结构
				.addSchema("aschema", ScriptResolver.classPathScript("db/001_init.sql"))
				.addSchema("aschema2", ScriptResolver.classPathScripts("db/*.sql"))
				.start();
	}

	public void stopDb(){
		mysqld.stop();
	}}

現在就可以執行實作內嵌mysql的啟動。這樣每次都得先啟動資料庫,然後在執行單元測試。我們可以將啟動配置到單元測試中。重寫SpringJUnit4ClassRunner類,啟動時將內嵌資料庫同時啟動。

詳細大家可以參考GitHub原始碼:https://github.com/wix-incubator/wix-embedded-mysql

【相關推薦:mysql影片教學

以上是mysql embedded是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn