mysqlembedded是什么

首页 编程分享 DBSERVICE 正文

藏色散人 转载 编程分享 2023-04-12 22:33:04

简介 mysql embedded是一种库,该库提供了一种在集成测试中运行真实MySql的方法;用户可以通过集成该jar包,实现内嵌式MySQL,不需要安装Mysql,即可进行数据库增删改查等相关操作。


mysql embedded是一种库,该库提供了一种在集成测试中运行真实MySql的方法;用户可以通过集成该jar包,实现内嵌式MySQL,不需要安装Mysql,即可进行数据库增删改查等相关操作。

本教程操作环境: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视频教程

转载链接:https://www.php.cn//mysql-tutorials-508120.html


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云