Este archivo presenta principalmente el uso de MySQL incrustado en Java. Para algunos proyectos de aplicación, es necesario proporcionar una versión instalada de MySQL. Pero a veces, si se trata de una herramienta pequeña, se puede instalar o trasplantar software pequeño. Instalar la base de datos puede ser más problemático.
De hecho, MySQL también ha incrustado y no requiere instalación. Durante el uso, la base de datos se creará y iniciará automáticamente a través del código. Aquí hay algunos fragmentos de código, y se proporcionará la dirección de descarga específica.
Esta es la clase de código central, que implementa el inicio y la parada de MySQL y el estado de inicio de la base de datos.
paquete 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.management.mysqldresource;/***** @author li yanfei* @@emageil * 2 de noviembre de 2016 a las 1:44:55 pm * */Clase final pública IncredMysqlServer {private mysqlDresource mySqlinStance; // Información de configuración Propiedades públicas de propiedades finales; // Información del puerto Puerto de cadena privada; / *** Teniendo en cuenta el rendimiento de la base de datos, se le permite colocar la base de datos en otros discos*/ cadena privada IncedMysqlhome; Public INCREDMYSQLSERVER (Props de propiedades finales) {this.props = props; } public InbEdMysqlServer (Props de propiedades finales, cadena IncredMysqlhome) {this.embedMysqlhome = IncredMysqlhome; this.props = Props; } public Final String GetEmbedMysqlHome () {return null == incredMysqlHome? getPlatformBasedIRIR (): incredmysqlhome; } /*** Obtenga el directorio de inicio de la aplicación actual* @return El directorio donde se encuentra la aplicación actual inicia el programa. */ public static string getplatformBasedir () {return System.getProperty ("user.dir"); } public static boolean isBlank (String final str) {int strlen; if (str == null || (strlen = str.length ()) == 0) {return true; } for (int i = 0; i <strlen; i ++) {if (caracteres.iswhiteSpace (str.charat (i)) == falso) {return false; }} return verdadero; } public void startup () {Final File Basedir = new File (GetEmbedMysqlHome (), "MySQL-EM"); mySqlinStance = new MySqlDresource (Basedir); puerto = props.getProperty ("puerto"); if (isBlank (puerto)) props.put ("puerto", port = string.ValueOf ((int) (math.random () * 40000)); set final <pect> keys = props.KeySet (); map final <string, string> options = new Hashmap <String, String> (keys.size ()); for (clave de objeto final: keys) {final string val = Props.getProperty (Key.ToString ()); MySqlinStance.Start ("EM_MYSQL", OPTION, FALSO, Keys.Contains ("Defaults-archivo"); (mysqlinstance)! = null) mysqlinstance.shutdown (); } public void Cleanup () {if (mySqlinStance! = NULL) mySqlinStance.CleanUp (); }}La siguiente es la demostración de lanzamiento.
public static void main (string [] args) {try {Properties pro = new Properties (); // Establecer diferentes parámetros pro.load (mysqltest.class.getresourceasstream ("mysql_medium.properties")); new InbedMysqlServer (Pro) .StartUp (); // puede colocar la base de datos en otros discos // new InbedMysqlServer (pro, "f: //") .StartUp (); Conexión conn = getTestConnection (); System.out.println (conn.isClosed ()); conn.close (); } catch (Exception e) {E.PrintStackTrace (); }}MySQL_General.Properties Ejemplo de configuración de la máquina general
MySQL_MODIUM.PROPERTIES Ejemplo de configuración de la máquina media
Ejemplos de configuración de mysql_large.Properties Machine de alta gama
Los parámetros específicos se pueden definir de acuerdo con diferentes necesidades, como los puertos se pueden definir libremente.
Dos frascos mysql a los que deben ser referenciados, MySQL-Connector-MXJ-GPL-6-0-11-DB-Files.jar, MySQL-Connector-MXJ-GPL-6-0-11.JAR
El código está en GIT, y la dirección es: https://git.oschina.net/eliyanfei/api_tools.git
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.