发布于2023-04-24 阅读(0)
扫一扫,手机访问
mysql embedded是一种库,该库提供了一种在集成测试中运行真实MySql的方法;用户可以通过集成该jar包,实现内嵌式MySQL,不需要安装Mysql,即可进行数据库增删改查等相关操作。
什么是 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类,启动时将内嵌数据库同时启动。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店