เพียงใช้ MyBatis-Spring-Boot-Starter พูดง่ายๆคือ MyBatis เห็นว่า Spring Boot เป็นที่นิยมดังนั้นฉันจึงมาพร้อมกับโซลูชัน MyBatis-Spring-Boot-Starter เพื่อรวมเข้ากับ Springboot ได้ดีขึ้น
ดูรายละเอียด
http://www.mybatis.org/spring/zh/index.html
แนะนำไฟล์ pom mybatis-spring-starter
<การพึ่งพา> <roupId> org.mybatis.spring.boot </groupid> <ratifactid> mybatis-spring-boot-starter </artifactid>
Application.properties เพิ่มการกำหนดค่าที่เกี่ยวข้อง
Spring.datasource.DriverClassName = com.mysql.jdbc.driverspring.datasource.url = jdbc: mysql: // localhost: 3306/เมือง? useunicode = true & caracterencoding = utf-8spring.datasource.username
Springboot จะโหลดการกำหนดค่าที่เกี่ยวข้องของ Spring.datasource โดยอัตโนมัติ*และแหล่งข้อมูลจะถูกฉีดลงใน SQLSessionFactory โดยอัตโนมัติ SQLSessionFactory จะถูกฉีดเข้าไปใน Mapper โดยอัตโนมัติ โดยวิธีการที่คุณไม่ต้องกังวลเกี่ยวกับทุกสิ่งเพียงแค่หยิบมันขึ้นมาและใช้มัน
mybatis.type-aliases-package = com.test.demo.model
การกำหนดค่านี้ใช้เพื่อระบุว่าแพ็คเกจใดที่ถั่วอยู่เพื่อหลีกเลี่ยงถั่วที่ไม่พบเมื่อชั้นเรียนที่มีชื่อเดียวกันอยู่
เพิ่ม @mapperscan ไปยังคลาสเริ่มต้นเพื่อระบุตำแหน่งของแพ็คเกจ DAO หรือ Mapper คุณสามารถระบุหลายแพ็คเกจในรูปแบบของ {"", ",}
@springbootapplication@mapperscan ("com.test.demo.dao") แอปพลิเคชันระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run (application.class, args); -หรือคุณสามารถระบุ Mapper ได้โดยเพิ่มคำอธิบายประกอบลงในคลาส Mapper ขอแนะนำให้ใช้ข้างต้น เป็นเรื่องยากมากที่จะเพิ่มคำอธิบายประกอบให้กับ Mapper แต่ละตัว หากเป็นแพ็คเกจ DAO คุณควรใช้ @mapperscan เพื่อระบุตำแหน่ง
ถัดไปคุณสามารถใช้โหมดคำอธิบายประกอบเพื่อพัฒนา Mapper หรือใช้โหมด XML เพื่อพัฒนา
โหมดคำอธิบายประกอบ
@MapperPublic อินเตอร์เฟส CityMapper {@Select ("เลือก * จากเมืองโดยที่ state = #{state}") เมือง FindByState (@param (" @" (") state);}@Select เป็นคำอธิบายประกอบของคลาสการสืบค้น การสืบค้นทั้งหมดใช้ @Result นี้เพื่อแก้ไขชุดผลลัพธ์ที่ส่งคืนและแอตทริบิวต์คลาสเอนทิตีที่เกี่ยวข้องและฟิลด์ฐานข้อมูลสอดคล้องกันทีละตัว หากแอตทริบิวต์คลาสเอนทิตีและชื่อแอตทริบิวต์ฐานข้อมูลมีความสอดคล้องกันแอตทริบิวต์นี้ไม่จำเป็นต้องแก้ไข @insert ถูกแทรกลงในฐานข้อมูลเพื่อใช้งาน การส่งผ่านเข้าสู่คลาสเอนทิตีโดยตรงจะแยกวิเคราะห์แอตทริบิวต์ไปยังค่า @update ที่เกี่ยวข้องโดยอัตโนมัติจะรับผิดชอบในการแก้ไขหรือคุณสามารถส่งผ่านไปยังวัตถุ @delete โดยตรงรับผิดชอบในการลบสำหรับคำอธิบายประกอบเพิ่มเติม อ้างถึงที่นี่
http://www.mybatis.org/mybatis-3/zh/java-api.html
โหมด XML
รูปแบบ XML รักษาประเพณีเก่าของการแมปไฟล์และแอปพลิเคชันจำเป็นต้องเพิ่ม
myBatis.mapper-locations = classpath: mybatis/mapper/*. xml
ระบุตำแหน่งไฟล์ XML การแมปของ MyBatis นอกจากนี้คุณยังสามารถระบุไฟล์การกำหนดค่าของ MyBatis หากคุณต้องการเพิ่มการกำหนดค่าพื้นฐานของ mybatis คุณสามารถเพิ่มการกำหนดค่าต่อไปนี้
mybatis.config-locations = classpath: mybatis/mybatis-config.xml
ระบุไฟล์การกำหนดค่าพื้นฐาน MyBatis
mybatis-config.xml สามารถเพิ่มการกำหนดค่าพื้นฐานบางอย่างของ mybatis ได้เช่น
<การกำหนดค่า> <PypeAliases> <typealias alias = "จำนวนเต็ม" type = "java.lang.integer" /> <typealias alias = "long" type = "java.lang.long" /> <typealias alias = "hashmap" type = type = "java.util.linkedhashmap" /> <typealias alias = "arraylist" type = "java.util.arraylist" /> <typealias alias = "linkedList" type = "java.util.linkedList" />
การเขียนรหัสเลเยอร์ DAO
อินเทอร์เฟซสาธารณะ CityDao {เมืองสาธารณะ SelectCityByState (String State);}ไฟล์การแมป XML ที่สอดคล้องกัน
<! doctype mapperpublic "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mappace namespace = "com.test.demo.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao.dao. ParameterType = "String" ResultType = "City"> เลือก * จากเมืองโดยที่ state = #{state} </select> </mapper> สรุป
ด้านบนเป็นวิธีการใช้ mybatis ภายใต้ Springboot แนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน!