Rumah > Artikel > pangkalan data > apakah mysql tertanam
mysql terbenam ialah perpustakaan yang menyediakan kaedah untuk menjalankan MySql sebenar dalam ujian penyepaduan; pengguna boleh melaksanakan MySQL terbenam dengan menyepadukan pakej jar tanpa memasang Mysql, pemadaman, pengubahsuaian dan operasi lain yang berkaitan.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8, komputer Dell G3.
Penggunaan EmbeddedMySql
Pustaka MySql Terbenam menyediakan cara untuk menjalankan MySql sebenar dalam ujian penyepaduan. Kami boleh melaksanakan MySQL terbenam dengan menyepadukan pakej balang ini Tidak perlu memasang Mysql untuk melakukan penambahan pangkalan data, pemadaman, pengubahsuaian dan operasi lain yang berkaitan.
Mula-mula perkenalkan kebergantungan maven
<dependency> <groupId>com.wix</groupId> <artifactId>wix-embedded-mysql</artifactId> <version>4.6.1</version> <scope>test</scope> </dependency>
Langkah seterusnya ialah penggunaan Java kod. Konfigurasikan parameter yang berkaitan dengan permulaan pangkalan data terbenam.
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(); }}
Anda kini boleh menjalankan permulaan mysql terbenam. Dengan cara ini, pangkalan data mesti dimulakan setiap kali dan kemudian ujian unit dilaksanakan. Kami boleh mengkonfigurasi permulaan ke dalam ujian unit. Tulis semula kelas SpringJUnit4ClassRunner untuk memulakan pangkalan data terbenam pada masa yang sama.
Untuk butiran, anda boleh merujuk kepada kod sumber GitHub: https://github.com/wix-incubator/wix-embedded-mysql
[Cadangan berkaitan: tutorial video mysql]
Atas ialah kandungan terperinci apakah mysql tertanam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!