이 파일은 주로 Java에 포함 된 MySQL의 사용을 소개합니다. 일부 애플리케이션 프로젝트의 경우 설치된 버전의 MySQL을 제공해야합니다. 그러나 때로는 작은 도구 인 경우 소규모 소프트웨어를 설치하거나 이식 할 수 있습니다. 데이터베이스를 설치하는 것이 더 귀찮을 수 있습니다.
실제로 MySQL도 내장되었으며 설치가 필요하지 않습니다. 사용하는 동안 데이터베이스는 코드를 통해 자동으로 생성 및 시작 또는 닫습니다. 다음은 일부 코드 스 니펫이 있으며 특정 다운로드 주소가 제공됩니다.
이것은 MySQL의 시작 및 정지 및 데이터베이스의 시작 상태를 구현하는 핵심 코드 클래스입니다.
패키지 net.simple.mysql; import java.io.file; import java.util.hashmap; import java.util.map; import java.util.properties; import java.util.set; import com.mysql.mymagement.mysqldresource;/** * @author li yanfei * @Anfei * @Anfei * @Anfei * @Anfei * @Antei * @Antei * @Angei * @ATHEI 2016 년 11 월 2 일 오후 1시 44 분 55 초 * */공개 최종 클래스 embedmysqlserver {private mysqldresource mysqlinstance; // 구성 정보 공개 최종 속성 소품; // 포트 정보 개인 문자열 포트; / *** 데이터베이스의 성능을 고려할 때 데이터베이스를 다른 디스크에 배치 할 수 있습니다*/ 개인 문자열 embedmysqlhome; 공개 embedmysqlserver (최종 속성 소품) {this.props = propss; } public embedmysqlserver (최종 속성 소품, String embedmysqlhome) {this.embedmysqlhome = embedmysqlhome; this.props = props; } public final String getEmbedmysqlhome () {return null == embedmysqlhome? getPlatformbasedir () : embedmysqlhome; } /*** 현재 응용 프로그램 홈 디렉토리를 가져옵니다. */ public static string getPlatformBasedir () {return system.getProperty ( "user.dir"); } public static boolean isblank (Final String Str) {int strlen; if (str == null || (strlen = str.length ()) == 0) {return true; } for (int i = 0; i <strlen; i ++) {if (ar }} true를 반환합니다. } public void startup () {Final Filedirdir = new File (getEmbedMySqlHome (), "mysql-em"); mysqlinstance = new mysqldresource (기반); port = props.getProperty ( "포트"); if (isblank (port)) props.put ( "port", port = string.valueof (int) (math.random () * 40000); 최종 세트 <botors> keys = props.keyset (); 최종 맵 <문자열, 문자열> 옵션 = new Hashmap <string, string> (keys.size ()); for (Final String val =) props.getProperty (key.toString ()); mysqlinstance.Start ( "em_mysql", false, keys.contains ( "defaults-file") {return port} / *** {if (mysqlinstance)! = null) mysqlinstance.shutdown (); } public void cleanup () {if (mysqlinstance! = null) mysqlinstance.cleanup (); }}다음은 런치 데모입니다.
public static void main (String [] args) {try {속성 pro = new Properties (); // 다른 매개 변수 설정 pro.load (mysqltest.class.getResourceasStream ( "mysql_medium.properties")); 새로운 embedmysqlserver (pro) .startup (); // 다른 디스크에 데이터베이스를 넣을 수 있습니다. // new embedmysqlserver (pro, "f : //") .startup (); 연결 conn = getTestConnection (); System.out.println (conn.isclosed ()); conn.close (); } catch (예외 e) {e.printstacktrace (); }}mysql_general.properties 일반 기계 구성 예제
mysql_medium.properties 중간 기계 구성 예제
mysql_large.properties 고급 기계의 구성 예
포트를 자유롭게 정의 할 수있는 다른 요구에 따라 특정 매개 변수를 정의 할 수 있습니다.
참조 해야하는 두 개의 mysql 항아리, mysql-connector-mxj-gpl-6-11-db-files.jar, mysql-connector-mxj-gpl-6-0-11.jar
코드는 git에 있으며 주소는 https://git.oschina.net/eliyianfei/api_tools.git입니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.