ทำไมฉันถึงต้องการ mybatis
MyBatis เป็นกรอบ Java ORM และ ORM ก็กลายเป็นเรื่องง่ายขึ้นเพื่อการพัฒนา วิธีการพัฒนาเบื้องต้นคือตรรกะของตรรกะทางธุรกิจและการสืบค้นฐานข้อมูลถูกแยกออกจากกันไม่ว่าจะเป็นการเขียนคำสั่ง SQL ในโปรแกรมหรือเรียกขั้นตอนการจัดเก็บ SQL สิ่งนี้นำไปสู่ความจำเป็นในการสลับระหว่างตรรกะภาษาและตรรกะ SQL ทำให้เกิดการพัฒนาที่ไม่มีประสิทธิภาพ ดังนั้นชุดของกรอบ ORM จึงเกิดขึ้น เฟรมเวิร์ก ORM สอดคล้องกับตารางฐานข้อมูลและวัตถุ Java เมื่อใช้งานฐานข้อมูลคุณจะต้องใช้งานวัตถุ Java ของวัตถุเช่นการตั้งค่าหลายอย่างและเงื่อนไขและการตั้งค่าแอตทริบิวต์เพียงไม่กี่ตัว
ทำไมฉันถึงต้องการเครื่องกำเนิด mybatis
แม้ว่าจะมีเฟรมเวิร์ก MyBatis แต่การเรียนรู้ MyBatis ก็ต้องการค่าใช้จ่ายในการเรียนรู้โดยเฉพาะอย่างยิ่งการกำหนดค่าไฟล์ XML ที่ต้องการซึ่งค่อนข้างยุ่งยากและข้อผิดพลาดเกิดขึ้นในการกำหนดค่าซึ่งไม่ง่ายต่อการค้นหา เมื่อมีข้อผิดพลาดที่อธิบายไม่ได้หรือวัตถุจำนวนมากที่ต้องสร้างขึ้นมักจะมีความรู้สึกลังเลที่จะมีชีวิตอยู่และหลงทางในใจ ดังนั้นเครื่องกำเนิด mybatis จึงเข้ามา
ต้องใช้การกำหนดค่าอย่างง่ายเพื่อให้การสร้างตารางจำนวนมากไปยังวัตถุ MyBatis Java ไม่เพียง แต่เร็ว แต่ยังไม่มีข้อผิดพลาดทำให้นักพัฒนาสามารถมุ่งเน้นไปที่การพัฒนาตรรกะทางธุรกิจอย่างแท้จริง
ฟังก์ชั่นตัวสร้าง MyBatis อย่างเป็นทางการนั้นค่อนข้างง่ายและไม่ได้ถูกนำไปใช้สำหรับฟังก์ชั่นการปัดเยอะที่ซับซ้อนเล็กน้อยฟังก์ชั่นการแทรกแบบแบทช์ ฯลฯ ที่ใช้อย่างหลีกเลี่ยงไม่ได้ในการพัฒนา แต่มีฟังก์ชั่นปลั๊กอินสำหรับผู้ใหญ่
ฉันได้ใส่เครื่องมือสร้าง mybatis ที่เรามักจะใช้กับ GitHub ซึ่งมีการปนเปื้อนแบบบูรณาการการแทรกชุดและฟังก์ชั่นการทำให้เป็นอนุกรม คุณสามารถตรวจสอบได้ที่นี่และได้แนะนำวิธีการใช้งานแล้ว
โครงสร้างไฟล์ MyBatis Generator
ไฟล์ที่สร้างขึ้นมีสามหมวดหมู่:
1. ไฟล์เอนทิตีโมเดลตารางฐานข้อมูลจะสร้างเอนทิตีโมเดล
2. โมเดลตัวอย่างไฟล์ไฟล์นี้และไฟล์เอนทิตีอยู่ในไดเรกทอรีเดียวกันและส่วนใหญ่จะใช้สำหรับการสืบค้นการก่อสร้างแบบมีเงื่อนไข
3. Mapper Interface File and Data Operation Methods ในอินเทอร์เฟซนี้
4. ไฟล์การกำหนดค่า XML MAPPER;
กำหนดค่าพา ธ การสร้างไฟล์ในไฟล์การกำหนดค่าและตั้งชื่อแพ็คเกจที่สอดคล้องกันเพื่อสร้างโครงสร้างไดเรกทอรีและไฟล์ที่เกี่ยวข้อง ฉันตั้งค่าไดเรกทอรีที่สร้างขึ้นเป็นไดเรกทอรีทดสอบชื่อแพ็คเกจเอนทิตีคือ com.fengzheng.dao.entity ชื่อแพ็คเกจอินเตอร์เฟสคือ com.fengzheng.dao.mapper จากนั้นโครงสร้างไดเรกทอรีไฟล์ที่สร้างขึ้นจะแสดงในรูปด้านล่าง:
วิธีการเขียนรหัส
การเรียกใช้วิธีทั้งหมดมาจากไฟล์อินเตอร์เฟสที่สร้างขึ้น ในฤดูใบไม้ผลิ MVC จำเป็นต้องประกาศให้ผู้โทร การใช้อินเทอร์เฟซ BlackList เป็นตัวอย่างไฟล์อินเตอร์เฟสที่สร้างขึ้นคือ BlacklistipMapper ดังนั้นผู้โทรจึงต้องประกาศอินเทอร์เฟซนี้ดังนี้:
@autowiredPrivate blacklistipmapper blacklistipmapper;
แบบสอบถามฐานข้อมูล
แบบสอบถามเป็นฟังก์ชั่นที่ใช้กันมากที่สุด วิธีการต่อไปนี้คือการสืบค้นบันทึกที่ IP เป็นค่าที่แน่นอน หากคุณรู้คีย์หลักคุณสามารถใช้วิธี SelectByPrimaryKey
Public Blacklistip รับ (string ip) {Blacklistipexample ตัวอย่าง = new Blacklistipexample (); ตัวอย่าง. createCriteria (). และ IP (IP); รายการ <ListIlistip> BlackListIplist = BlackListMapper.SELECTBYEXAMPLE (ตัวอย่าง); Blacklistiplist.get (0);} return null;} วิธีการเรียกวิธีการนี้คล้ายกัน สำหรับรายละเอียดโปรดดูการแนะนำเอกสารที่เกี่ยวข้อง
เรียงลำดับ
Public Blacklistip รับ (string ip) {Blacklistipexample ตัวอย่าง = ใหม่ BlacklistipExample (); example.SetOrderByClause ("create_time desc"); // เรียงลำดับตามตัวอย่างเวลาการสร้าง createCriteria (). Andipequalto (ip); list <blacklistip> blacklistiplist = blacklistmapper.selectByexample (ตัวอย่าง); ถ้า (Blacklistiplist! = null && blacklistiplist.size ()> 0)การปนเปื้อน
Public Pageinfo List (บัญชีบัญชี PageInfo PageInfo, String Starttime, String Endtime) {account.setisdel (sysparamdetailconstant.is_del_false); Accountexample ตัวอย่าง = getCondition (บัญชีเริ่มต้น {example.setLimitclausestart (PageInfo.getPageStart ()); example.setLimitClaUsecount (PageInfo.getPagecount ());} example.set.setOrdyClause ("create_time desc"); AccountMapper.CountByExample (ตัวอย่าง); PageInfo.SetList (รายการ); PageInfo.Settotalcount (TotalCount); return PageInfo;} ใช้เงื่อนไขการสืบค้นเช่น a = x และ (b = xx หรือ b = xxx)
แม้ว่าจะสะดวกในการสร้างรหัสโดยอัตโนมัติ แต่ทุกอย่างมีข้อดีและข้อเสีย เครื่องกำเนิด MyBatis ไม่มีวิธีสร้างฟังก์ชั่นเข้าร่วมตารางดังนั้นจึงสามารถเพิ่มได้ด้วยตนเองเท่านั้น การประกบแบบมีเงื่อนไขเช่น a = x และ (b = xx หรือ b = xxx) ถูกนำมาใช้ดังนี้
Accountexample Accountexample = ใหม่ Accountexample (); Accountexample.Criteria Criteria = Accountexample.CreateCriteria (). และ ttypeequalto ("4"); Criteria.addcriterion (string.format ("(ID =%d AccountMapper.selectByexample (Accountexample); คืนบัญชี; อย่างไรก็ตามคุณต้องแก้ไขรหัสเล็ก ๆ น้อย ๆ แก้ไขบรรทัดที่ 524 ของ ExampleGenerator ภายใต้ org.mybatis.generator.codegen.mybatis3.model แพ็คเกจเปลี่ยนวิธีการตั้งค่า (Javavisability.protected); ถึงวิธีการตรวจสอบความสามารถ (Javavisability.public);
การเปลี่ยนแปลงได้รับการซิงโครไนซ์กับ GitHub
ด้านบนเป็นรหัสและการใช้งานของเครื่องกำเนิด mybatis ที่แนะนำโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!