1. การกำหนดค่าสำหรับการเชื่อมต่อกับฐานข้อมูลจะถูกวางไว้ในไฟล์คุณสมบัติแยกกัน
ก่อนหน้านี้เราเขียนข้อมูลการกำหนดค่าการเชื่อมต่อโดยตรงของฐานข้อมูลในไฟล์ conf.xml ของ mybatis ดังนี้:
<? xml version = "." การเข้ารหัส = "utf-"?> <! การกำหนดค่า doctype สาธารณะ "-// mybatis.org//dtd config .//en" "http://mybatis.org/dtd/mybatis--config.dtd"> /> <!-กำหนดค่าข้อมูลการเชื่อมต่อฐานข้อมูล-> <dataSource type = "pooled"> <property name = "driver" value = "com.mysql.jdbc.driver" /> <property name = "url" value = "jdbc: mysql: // localhost: /mybatis" /> < /> </TataSource> </environment> </environments> </การกำหนดค่า>
ในความเป็นจริงเราสามารถเขียนข้อมูลการกำหนดค่าการเชื่อมต่อของฐานข้อมูลในไฟล์คุณสมบัติจากนั้นอ้างอิงไฟล์คุณสมบัติในไฟล์ conf.xml วิธีเฉพาะมีดังนี้:
1. สร้างไฟล์ db.properties ใหม่ในไดเรกทอรี SRC ดังแสดงในรูปด้านล่าง:
ในไฟล์ db.properties ไดรเวอร์ฐานข้อมูลที่คุณต้องใช้เพื่อเชื่อมต่อกับฐานข้อมูลที่อยู่ URL การเชื่อมต่อชื่อผู้ใช้และรหัสผ่านมีดังนี้:
driver = com.mysql.jdbc.driverurl = jdbc: mysql: // localhost:/mybatisname = rootpassword = xdp
2. อ้างอิงไฟล์ db.properties ในไฟล์ conf.xml ของ mybatis ดังต่อไปนี้:
<? xml version = "." การเข้ารหัส = "utf-"?> <! การกำหนดค่า doctype สาธารณะ "-// mybatis.org//dtd config .//en" "http://mybatis.org/dtd/mybatis--config.dtd"> Resource = "db.properties" /> <!-การพัฒนา: การพัฒนาโหมดการทำงาน: โหมดการทำงาน-> <environment default = "การพัฒนา"> <environment id = "การพัฒนา"> <transactionManager type = "JDBC" /> <! value = "$ {driver}" /> <property name = "url" value = "$ {url}" /> <property name = "username" value = "$ {name}" /> <property name = "password" value = "$ {password}" 2. กำหนดนามแฝงสำหรับคลาสเอนทิตีเพื่อลดความซับซ้อนของการอ้างอิงในไฟล์ XML การแมป SQL
ก่อนหน้านี้เมื่อเราอ้างอิงคลาสเอนทิตีในไฟล์ SQL-mapping XML เราจำเป็นต้องเขียนชื่อคลาสเต็มของคลาสเอนทิตี (ชื่อแพ็คเกจ + ชื่อคลาส) ดังนี้:
<!-สร้างผู้ใช้ (สร้าง)-> <insert id = "adduser" parameterType = "me.gacl.domain.user"> แทรกลงในผู้ใช้ (ชื่ออายุ) ค่า (#{ชื่อ},#{อายุ}) </insert> parameterType = "me.gacl.domain.user" ชื่อคลาสเต็มของผู้ใช้คลาสเอนทิตีที่เขียนที่นี่คือ me.gacl.domain.user มันเป็นเรื่องยากมากที่จะเขียนรายการเนื้อหาที่ยาวนานทุกครั้งและเราหวังว่ามันจะถูกย่อในรูปแบบต่อไปนี้
<insert id = "addUser2" parameterType = "ผู้ใช้ _ user"> แทรกลงในผู้ใช้ (ชื่ออายุ) ค่า (#{ชื่อ},#{อายุ}) </แทรก> วิธีการเขียน parameterType = "_ user" นี้ง่ายกว่ามาก เพื่อให้ได้เอฟเฟกต์นี้เราจำเป็นต้องกำหนดนามแฝง "_user" สำหรับ entity class = "me.gacl.domain.user" ในไฟล์ conf.xml วิธีเฉพาะมีดังนี้:
เพิ่มการกำหนดค่าต่อไปนี้ในแท็ก <การกำหนดค่า> </การกำหนดค่า> แท็กในไฟล์ conf.xml:
<typealiases> <typealias type = "me.gacl.domain.user" alias = "_ user"/> </typealiases>
ด้วยวิธีนี้นามแฝงถูกกำหนดไว้สำหรับคลาส me.gacl.domain.user และในอนาคต _user เป็นตัวแทนของคลาส me.gacl.domain.user ด้วยวิธีนี้ไม่ว่า SQL จะต้องมีการอ้างอิง ME.GACL.DOMAIN.ASER ใด ๆ ที่จะต้องมีการอ้างอิงคลาส _USER สามารถใช้แทนได้ซึ่งบรรลุวัตถุประสงค์ในการลดความซับซ้อนของการอ้างอิงคลาสเอนทิตี
นอกเหนือจากการใช้ <typealias type = "me.gacl.domain.user" alias = "_ user"/> เพื่อตั้งค่านามแฝงสำหรับคลาสเอนทิตีบางอย่างแยกกันเรายังสามารถตั้งค่านามแฝงสำหรับคลาสเอนทิตีทั้งหมด
<!- กำหนดค่านามแฝงของคลาสเอนทิตี จุดประสงค์ของการกำหนดค่านามแฝงคลาสเอนทิตีคือการใช้นามแฝงของคลาสเอนทิตีแทนคลาสเอนทิตีเมื่ออ้างถึงคลาสเอนทิตีเพื่อให้บรรลุวัตถุประสงค์ของตัวย่อ-> <typealiases> <!-กำหนดค่านามแฝงสำหรับคลาสเอนทิตี me.gacl.domain.user_user-> < -> <!-กำหนดค่านามแฝงสำหรับคลาสเอนทิตีทั้งหมดภายใต้แพ็คเกจ me.gacl.domain วิธีเริ่มต้นในการตั้งค่านามแฝงของ mybatis คือการลบชื่อคลาสง่าย ๆ หลังจากแพ็คเกจที่คลาสตั้งอยู่เช่น me.gacl.domain.user นามแฝงของคลาสเอนทิตีจะถูกตั้งค่าให้กับผู้ใช้-> <package name = "me.gacl.domain"
<package name = "me.gacl.domain"/> หมายถึงการตั้งค่านามแฝงสำหรับคลาสเอนทิตีทั้งหมดด้านล่างแพ็คเกจนี้ วิธีเริ่มต้นในการตั้งค่านามแฝงโดย mybatis คือการลบชื่อคลาสง่าย ๆ หลังจากแพ็คเกจที่คลาสอยู่ ตัวอย่างเช่นนามแฝงของคลาสเอนทิตี me.gacl.domain.user จะถูกตั้งค่าเป็นผู้ใช้
ข้างต้นคือ MyBatis Learning Tutorial (III) แนะนำให้รู้จักกับคุณโดย Editor - MyBatis Configuration Optimization ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!