ไฟล์นี้ส่วนใหญ่แนะนำการใช้ MySQL แบบฝังใน Java สำหรับโครงการแอปพลิเคชันบางโครงการจำเป็นต้องจัดทำ MySQL เวอร์ชันที่ติดตั้ง แต่บางครั้งถ้าเป็นเครื่องมือขนาดเล็กก็สามารถติดตั้งหรือปลูกถ่ายซอฟต์แวร์ขนาดเล็กได้ การติดตั้งฐานข้อมูลอาจมีปัญหามากขึ้น
ในความเป็นจริง MySQL ยังฝังอยู่และไม่จำเป็นต้องมีการติดตั้ง ในระหว่างการใช้งานฐานข้อมูลจะถูกสร้างขึ้นโดยอัตโนมัติและเริ่มต้นหรือปิดผ่านรหัส นี่คือบางส่วนโค้ดตัวอย่างและที่อยู่ดาวน์โหลดเฉพาะจะมีให้
นี่คือคลาสหลักโค้ดซึ่งใช้การเริ่มต้นและหยุด MySQL และสถานะการเริ่มต้นของฐานข้อมูล
แพ็คเกจ net.simple.mysql; นำเข้า java.io.file; นำเข้า java.util.hashmap; นำเข้า java.util.map; นำเข้า java.util.properties; นำเข้า java.util.set; นำเข้า com.mysql.management.mysqldresource; [email protected] * 2 พฤศจิกายน 2016 เวลา 13:44:55 น. * */ชั้นเรียนสุดท้ายสาธารณะ EmbedMySqlServer {ส่วนตัว MySqldResource MySqlinstance; // ข้อมูลการกำหนดค่าคุณสมบัติสาธารณะอุปกรณ์ประกอบฉากสุดท้าย; // พอร์ตข้อมูลพอร์ตสตริงส่วนตัว; / *** พิจารณาประสิทธิภาพของฐานข้อมูลได้รับอนุญาตให้วางฐานข้อมูลบนดิสก์อื่น ๆ*/ สตริงส่วนตัว EmbedMySqlHome; Public EmbedMySqlServer (อุปกรณ์ประกอบฉากสุดท้าย) {this.props = อุปกรณ์ประกอบฉาก; } Public EmbedMySqlServer (อุปกรณ์ประกอบคุณสมบัติสุดท้าย, สตริง EmbedMySqlHome) {this.embedMySqlHome = EMBEDMYSQLHOME; this.props = อุปกรณ์ประกอบฉาก; } สาธารณะสตริงสุดท้าย getembedMySqlHome () {return null == EMBEDMYSQLHOME? getPlatFormBasedir (): EMBEDMYSQLHOME; } /*** รับแอปพลิเคชัน Home Directory ปัจจุบัน* @return The Directory ที่โปรแกรมเริ่มต้นแอปพลิเคชันปัจจุบันตั้งอยู่ */ สตริงคงที่สาธารณะ getPlatFormBasedir () {return system.getProperty ("user.dir"); } บูลีนสแตติกสาธารณะ isblank (สตริงสุดท้าย str) {int strlen; if (str == null || (strlen = str.length ()) == 0) {return true; } สำหรับ (int i = 0; i <strlen; i ++) {ถ้า (character.iswhitespace (str.charat (i)) == false) {return false; }} ส่งคืนจริง; } โมฆะสาธารณะเริ่มต้น () {ไฟล์สุดท้ายที่ใช้ไฟล์ = ไฟล์ใหม่ (getembedMySqlHome (), "mySQL-EM"); mysqlinstance = mysqldresource ใหม่ (พื้นฐาน); พอร์ต = props.getProperty ("พอร์ต"); if (iSblank (พอร์ต)) props.put ("พอร์ต", พอร์ต = string.valueof ((int) (math.random () * 40000)); ชุดสุดท้าย <jobch> keys = props.keyset (); แผนที่สุดท้าย <string, string> new HashMap <String, String> (keys.size () props.getProperty (key.toString ()); mysqlinstance.start ("em_mysql", ตัวเลือก, false, keys.contains ("ค่าเริ่มต้น")); {ถ้า (mysqlinstance)! = null) mysqlinstance.shutdown (); } การล้างข้อมูลโมฆะสาธารณะ () {ถ้า (mysqlinstance! = null) mysqlinstance.cleanup (); -
ต่อไปนี้คือการสาธิตการเปิดตัว
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ลอง {คุณสมบัติ pro = คุณสมบัติใหม่ (); // ตั้งค่าพารามิเตอร์ที่แตกต่างกัน pro.load (mysqltest.class.getResourceasstream ("mysql_medium.properties")); ใหม่ EMBEDMYSQLSERVER (PRO) .STARTUP (); // คุณสามารถวางฐานข้อมูลบนดิสก์อื่น ๆ // ใหม่ EmbedMySqlServer (Pro, "f: //") .startup (); Connection conn = getTestConnection (); System.out.println (conn.isclosed ()); conn.close (); } catch (exception e) {e.printstacktrace (); -mysql_general.properties ตัวอย่างการกำหนดค่าเครื่องทั่วไป
mysql_medium.properties ตัวอย่างการกำหนดค่าเครื่องขนาดกลาง
ตัวอย่างการกำหนดค่าของ mysql_large.properties เครื่องจักรระดับสูง
พารามิเตอร์เฉพาะสามารถกำหนดได้ตามความต้องการที่แตกต่างกันเช่นพอร์ตสามารถกำหนดได้อย่างอิสระ
สองขวด MySQL ที่ต้องอ้างอิง MySQL-Connector-MXJ-GPL-6-0-11-DB-Files.jar, MySQL-Connector-MxJ-GPL-6-0-11.JAR
รหัสอยู่ใน git และที่อยู่คือ: https://git.oschina.net/eliyanfei/api_tools.git
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น