วิธีนี้เป็นการกำหนดค่าที่น้อยที่สุดรองรับการเชื่อมต่อหลายสาขาของฐานข้อมูล MySQL รองรับการเชื่อมต่อการเชื่อมต่อ Hikari และรองรับ MyBatis (รวมถึงการกำหนดค่าสำหรับคลาส DAO และตำแหน่งไฟล์ XML)
1. แนะนำการพึ่งพาใน pom.xml:
<!-เริ่มต้นของ db ที่เกี่ยวข้อง-> <predency> <roupId> org.mybatis.spring.boot </groupId> <ratifactid> mybatis-spring-boot-starter </artifactid> <persion> 1.1.1 </เวอร์ชัน> <ArtIfactId> tomcat-jdbc </artifactid> </earcusion> </การยกเว้น> </การพึ่งพา> <การพึ่งพา> <roupId> com.zaxxer </groupid> <ratifactid> Hikaricp </artifactid> <ArtIfactId> mysql-connector-java </artifactid> </dermentency> <!-สิ้นสุด DB ที่เกี่ยวข้อง->
เราใช้ mybatis-spring-boot-starter และปล่อยให้มันยกเว้นพูลการเชื่อมต่อ Tomcat-JDBC ดังนั้น Spring-Boot จะมองหาว่ามี Hikaricp อยู่หรือไม่
2. การกำหนดค่าที่เกี่ยวข้องใน Application.yml:
ฤดูใบไม้ผลิ: โปรไฟล์: แอคทีฟ: DEV DataSource: Driver-Class-Name: com.mysql.jdbc.driver ชื่อผู้ใช้: รหัสผ่านรูท: 123456 Hikari: Maxlifetime: 1765000 #เวลาชีวิตของการเชื่อมต่อ (มิลลิวินาที) การหมดเวลาและไม่ได้ใช้จะถูกปล่อยออกมา ค่าเริ่มต้น: 30 นาที ขอแนะนำให้ตั้งค่าน้อยกว่า 30 วินาทีน้อยกว่าการหมดเวลาฐานข้อมูล maximumpoolsize: 15 #จำนวนการเชื่อมต่อสูงสุดที่อนุญาตในพูลการเชื่อมต่อ ค่าเริ่มต้น: 10; สูตรที่แนะนำ: ((core_count * 2) + effect_spindle_count) mybatis: mapperlocations: classpath: mapper/ *. xml --- # การพัฒนาสภาพแวดล้อมการกำหนดค่าสปริง: โปรไฟล์: DEV DataSource: URL: JDBC: MySQL: // localhost: 3306/--- JDBC: MySQL: //192.168.0.12: 3306/--- # การกำหนดค่าสภาพแวดล้อมการกำหนดค่าสปริง: โปรไฟล์: Prodatource: URL: JDBC: MySQL: //192.168.0.13: 3306/
ในหมู่พวกเขาจุดสิ้นสุดของ dataSource.url ไม่รวม DBNAME เพื่อให้สามารถรองรับ DBS หลายตัวได้ เมื่อใช้งานคุณจะต้องระบุชื่อ DB ที่ด้านหน้าของชื่อตารางของคำสั่ง SQL
3. รหัสอินเตอร์เฟส DAO:
แพ็คเกจ com.xjj.dao; นำเข้า org.apache.ibatis.annotations.mapper; นำเข้า org.apache.ibatis.annotations.select; นำเข้า com.xjj.entity.person; @mapper public interface persondao {@select ("เลือก id, first_name เป็น firstname, last_name เป็นนามสกุล, วันเกิด _date เป็นวันเกิด, sex, phone_no เป็น phoneno" + "จาก test.t_person ที่ id =#{0};") บุคคลสาธารณะ INT INSTPENT PUNITH (บุคคลบุคคล); Public Int UpdatePersonById (บุคคลบุคคล); INT UPDATEPERSONBYPHONENO (บุคคล); -เพียงใช้คำอธิบายประกอบ @mapper เพื่อสนับสนุนการค้นหาโดย MyBatis และสนับสนุนการเขียนคำสั่ง SQL เกี่ยวกับวิธีการ
4. ไฟล์ XML:
สร้างไดเรกทอรี Mapper ในไดเรกทอรีทรัพยากรจากนั้นสร้างไฟล์ XML ดังนี้:
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <! doctype mapper สาธารณะ "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" namespace = "com.xjj.dao.persondao"> <!-แทรกตารางผู้ใช้ฐานข้อมูล-> <แทรก id = "insertPerson"> แทรกลงใน test.t_person (first_name, last_name, bort_date, sex, phone_no, update_dt) ค่า (#{firstName},#{LastName},#{birthdate},#{sex},#{phoneno}, ตอนนี้ ()) </insert> <update id = "updatePersonById"> update test.t_person set first_name =#{firstName} sex =#{sex}, phone_no =#{phoneno} โดยที่ id =#{id} </update> <update id = "UpdatePersonByPhoneno"> อัปเดต test.t_person set first_name =#{firstName}, last_name =#{LastName}, birth_date =# phone_no =#{phoneno} </update> </mapper>5. ทดสอบ:
@Test โมฆะสาธารณะ DBTEST () พ่น jsonProcessingException {person person2 = persondao.getPersonById (2); logger.info ("บุคคลที่ 2 คือ: {}", ObjectMapper.WriteValueEasString (person2)); person2.setFirstName ("แปด"); persondao.updatepersonbyid (person2); person2 = persondao.getpersonbyid (2); logger.info ("บุคคลที่ 2 หลังจากการอัปเดตคือ: {}", ObjectMapper.writevalueasstring (person2)); assertThat (person2.getFirstName (), Equalto ("8")); -สรุป
ด้านบนเป็นวิธีการกำหนดค่าอย่างง่ายสำหรับสปริงบูตเพื่อกำหนดค่าการเชื่อมต่อฐานข้อมูล MySQL, พูลเชื่อมต่อ Hikari และ mybatis แนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!