ก่อนอื่นสร้างตารางข้อมูลง่าย ๆ ใหม่และแสดงโดยใช้ตารางข้อมูลนี้
DROP TABLE ถ้ามีอยู่ `รายการ '; สร้างตาราง `items` (` id` int (11) ไม่ใช่ null auto_increment, `title` varchar (255) ค่าเริ่มต้น null,` name` varchar (10) ค่าเริ่มต้น null, `รายละเอียด 'varchar (255) ค่าเริ่มต้น, คีย์หลัก
แนะนำการพึ่งพา Maven และคลาสการเชื่อมต่อของ JDBCTEMPLATE
<การพึ่งพา> <roupId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Jdbc </artifactid> </serdency> <predency> <roupId> Mysql </groupid>
ในไฟล์ Application.properties กำหนดค่าคลาสไดรเวอร์ที่อยู่ฐานข้อมูลบัญชีฐานข้อมูลข้อมูลรหัสผ่านของ MySQL สร้าง application.properties ในโฟลเดอร์ SRC/Main/Resource
Spring.datasource.url = jdbc: mysql: //127.0.0.1: 3306/ฤดูใบไม้ผลิ? usessl = false spring.datasource.username = root spring.datasource.password = 123456 spring.datasource.driver-class-name = com.mysql. spring.datasource.max-wait = 10,000 spring.datasource.min-idle = 5 spring.datasource.initial-size = 5 Server.port = 8080 Server.session.timeout = 10 Server.tomcat.uri-encoding = UTF-8
สร้างคลาสเอนทิตีใหม่คุณสมบัติสอดคล้องกับฟิลด์ SQL
แพ็คเกจ org.amuxia.start; รายการคลาสสาธารณะ {ID จำนวนเต็มส่วนตัว; ชื่อสตริงส่วนตัว; ชื่อสตริงส่วนตัว; รายละเอียดสตริงส่วนตัว จำนวนเต็มสาธารณะ getId () {return id; } โมฆะสาธารณะ setId (ID จำนวนเต็ม) {this.id = id; } สตริงสาธารณะ getTitle () {return title; } โมฆะสาธารณะ settitle (ชื่อสตริง) {this.title = title; } สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } สตริงสาธารณะ getDetail () {รายละเอียดคืน; } โมฆะสาธารณะ setDetail (รายละเอียดสตริง) {this.detail = รายละเอียด; } รายการสาธารณะ () {super (); // todo todo ที่สร้างขึ้นใหม่ stub stub} รายการสาธารณะ (ID จำนวนเต็ม, ชื่อสตริง, ชื่อสตริง, รายละเอียดสตริง) {super (); this.id = id; this.title = title; this.name = ชื่อ; this.detail = รายละเอียด; } @Override สตริงสาธารณะ toString () {return "items [id =" + id + ", name =" + name + ", รายละเอียด =" + รายละเอียด + "]"; -การดำเนินการใหม่
/** * ข้อมูลใหม่ * @param items * @return */@requestmapping ("/add") สาธารณะ @ResponseBody สตริง addItems (รายการรายการ) {String SQL = "แทรกลงในรายการ (ID, ชื่อ, รายละเอียด) ค่า (? Object args [] = {items.getId (), items.getTitle (), items.getName (), items.getDetail ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "บทความเพิ่มสำเร็จ"; } return "เกิดข้อผิดพลาดใหม่"; -มาทดสอบกันเถอะ ป้อน http: // localhost: 8080/รายการ/เพิ่มในเครื่องมือทดสอบบุรุษไปรษณีย์
เราจะเห็นว่าการเพิ่มใหม่ประสบความสำเร็จมันสะดวกมากและไม่มีข้อมูลการกำหนดค่าที่ยุ่งยาก
ส่วนที่เหลือการลบการดำเนินการอัปเดตและรหัสใหม่ยังคงไม่เปลี่ยนแปลง แต่การเปลี่ยนแปลงเฉพาะใน SQL และไม่มีการสาธิตที่นี่
การดำเนินการแบบสอบถามทั้งหมด
/** * @return * สอบถามข้อมูลทั้งหมด */@requestmapping ("/list") รายการสาธารณะ <แผนที่ <สตริงวัตถุ >> itemsList () {string sql = "เลือก * จากรายการ"; รายการ <map <string, object >> list = jdbctemplate.QueryForList (SQL); รายการคืน; -มาทดสอบกันเถอะ ป้อน http: // localhost: 8080/รายการ/รายการในเครื่องมือทดสอบบุรุษไปรษณีย์
เราได้เห็นแล้วว่ารวมถึงข้อมูลที่เพิ่มขึ้นใหม่
เพื่อเรียนรู้การทำงานของ JDBCTEMPLATE ของ SpringBoot การเพิ่มการลบการดัดแปลงและรหัสการค้นหาทั้งหมดจะถูกเขียนขึ้นในคลาสรายการ Controller ซึ่งสะดวกสำหรับการสาธิต รหัสถูกโพสต์ที่นี่และคุณสามารถเรียกใช้ได้หากคุณต้องการ
แพ็คเกจ org.amuxia.start; นำเข้า java.util.list; นำเข้า java.util.map; นำเข้า org.springframework.beans.factory.annotation.autowired; นำเข้า org.springframework.context.annotation.componentscan; นำเข้า org.springframework.jdbc.core.jdbctemplate; นำเข้า org.springframework.web.bind.annotation.pathvariable; นำเข้า org.springframework.web.bind.annotation.requestmapping; นำเข้า org.springframework.web.bind.annotation.responsebody; นำเข้า org.springframework.web.bind.annotation.restcontroller; @ComponentScan @RestController @RequestMapping ("/items") คลาสสาธารณะ itementController {@autoWired JDBcTemplate JDBCTEMPLATE; /** * @return * สอบถามข้อมูลทั้งหมด */@requestmapping ("/list") รายการสาธารณะ <แผนที่ <สตริงวัตถุ >> itemsList () {string sql = "เลือก * จากรายการ"; รายการ <map <string, object >> list = jdbctemplate.QueryForList (SQL); รายการคืน; }/** * @param id * @return * สอบถามข้อความเดียวตาม ID */@requestMapping ("/รายละเอียด/{id}") แผนที่สาธารณะ <สตริงวัตถุ> รายละเอียด (@PathVariable ID ID) {แผนที่ <สตริง รายการ <map <string, object >> list = itemsList (); map = list.get (id); แผนที่กลับ; }/** * ข้อมูลใหม่ * @param items * @return */@requestmapping ("/เพิ่ม") สาธารณะ @ResponseBody additems (รายการรายการ) {String SQL = "แทรกลงในรายการ (ID, ชื่อ, ชื่อ, รายละเอียด) ค่า (? Object args [] = {items.getId (), items.getTitle (), items.getName (), items.getDetail ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "บทความเพิ่มสำเร็จ"; } return "บทความเพิ่มข้อผิดพลาด"; }/** * @param items * @return * ลบข้อมูล */@requestmapping ("/del") public @ResponseBody String delitems (รายการรายการ) {string sql = "ลบจากรายการที่ id =?"; Object args [] = {items.getId ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "บทความลบสำเร็จ"; } return "ข้อผิดพลาดที่ถูกลบบทความ"; }/** * @param items * @return * การดำเนินการอัปเดต */@requestmapping ("/upd") public @ResponseBody String upditems (รายการรายการ) {string sql = "รายการอัปเดต title =? Object args [] = {items.getTitle (), items.getDetail (), items.getId ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "บทความแก้ไขสำเร็จ"; } return "ข้อผิดพลาดในการแก้ไข"; -นี่คือคำอธิบาย
@componentscan:
@componentscan บอกสปริงว่าคลาสคำอธิบายประกอบใดจะถูกสแกนโดยอัตโนมัติโดยฤดูใบไม้ผลิและโหลดลงในภาชนะถั่ว หากคุณมีคลาสที่ระบุด้วยคำอธิบายประกอบ @Controller ดังนั้นหาก @componentscan ไม่ได้ถูกเพิ่มลงในการสแกนคอนโทรลเลอร์โดยอัตโนมัติคอนโทรลเลอร์จะไม่ถูกสแกนโดยฤดูใบไม้ผลิและจะไม่ถูกโหลดลงในคอนเทนเนอร์สปริงและคอนโทรลเลอร์จะไม่ทำงาน
รหัสคลาสเริ่มต้น
แพ็คเกจ org.amuxia.start; นำเข้า org.springframework.boot.springapplication; นำเข้า org.springframework.boot.autoconfigure.enableautoconfiguration; นำเข้า org.springframework.web.bind.annotation.restcontroller; @RestController @EnableAutoconFiguration แอพคลาสสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {system.out.println ("เริ่ม ... "); SpringApplication.run (itemsController.class, args); -สรุป
ข้างต้นคือสิ่งที่บรรณาธิการแนะนำให้คุณรู้จัก Springboot ใช้ JDBCTEMPLATE เพื่อเติมเต็มฐานข้อมูลการลบการปรับเปลี่ยนและฟังก์ชั่นการค้นหา ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!