Pertama -tama buat tabel data sederhana baru dan tunjukkan dengan mengoperasikan tabel data ini
Jatuhkan tabel jika ada `item`; CREATE TABLE `items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) DEFAULT NULL, `name` varchar(10) DEFAULT NULL, `detail` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
Perkenalkan Kelas Ketergantungan dan Koneksi Maven dari JDBCtemplate
<dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-jdbc </t Artifactid> </dependency> <dependency> <groupid> MySQL </Groupid> <ArTifacTid> MySQL-Connector-Connector-Java </art
Dalam file application.properties, konfigurasikan kelas driver, alamat basis data, akun basis data, informasi kata sandi MySQL. Buat Application.Properties di folder SRC/Main/Resource.
spring.datasource.url = jdbc: mysql: //127.0.0.1: 3306/spring? usessl = false spring.datasource.username = root spring.datasource.password = 123456 spring.datasource.driver-class-name = com.mysqler.mysql. spring.datasource.max-wait = 10000 spring.datasource.min-idle = 5 spring.datasource.initial-size = 5 server.port = 8080 server.Session.timeout = 10 server.tomcat.uri-encoding = UTF-8
Buat kelas entitas baru, properti sesuai dengan bidang SQL
paket org.amuxia.start; item kelas publik {private integer ID; judul string pribadi; nama string pribadi; detail string pribadi; Integer publik getId () {return id; } public void setid (integer id) {this.id = id; } public String getTitle () {return title; } public void setTitle (string title) {this.title = title; } public string getName () {return name; } public void setName (name string) {this.name = name; } public string getDetail () {return detail; } public void setDetail (detail string) {this.detail = detail; } item publik () {super (); // TODO Stub Konstruktor yang dihasilkan secara otomatis} item publik (ID integer, judul string, nama string, detail string) {super (); this.id = id; this.title = judul; this.name = name; this.detail = detail; } @Override public string toString () {return "item [id =" + id + ",, name =" + name + ", detail =" + detail + "]"; }}Operasi Baru
/** * Data baru * @param item * @return */@RequestMapping ("/add") public @ResponseBody String AddItems (Item Item) {String sql = "Masukkan ke dalam item (id, judul, nama, detail) nilai (?,?,?)"; Objek args [] = {items.getId (), items.gettitle (), items.getName (), items.getDetail ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "artikel yang berhasil ditambahkan"; } return "Terjadi kesalahan baru"; }Mari kita tes. Masukkan http: // localhost: 8080/item/tambahkan alat uji postman
Kita dapat melihat bahwa penambahan baru telah berhasil, memang sangat nyaman dan tidak ada informasi konfigurasi yang rumit.
Sisa penghapusan, pembaruan operasi dan kode baru tetap tidak berubah, tetapi hanya perubahan SQL, dan tidak ada demonstrasi yang diberikan di sini.
Semua operasi kueri
/** * @return * Permintaan semua informasi */@RequestMapping ("/list") Daftar publik <peta <string, objek >> itemslist () {string sql = "pilih * dari item"; Daftar <peta <String, Object >> Daftar = jdbctemplate.QueryForList (SQL); daftar pengembalian; }Mari kita tes. Masukkan http: // localhost: 8080/item/daftar di alat uji postman
Kami telah melihat bahwa, termasuk data yang baru ditambahkan, telah ditemukan.
Untuk mempelajari operasi JDBCtemplate dari Springboot, semua penambahan, penghapusan, modifikasi, dan kode pencarian ditulis di kelas Item -Controller, yang juga nyaman untuk demonstrasi. Kode diposting di sini, dan Anda dapat menjalankannya jika Anda membutuhkannya.
paket org.amuxia.start; impor java.util.list; impor java.util.map; impor org.springframework.beans.factory.annotation.Autowired; impor org.springframework.context.annotation.componentscan; impor org.springframework.jdbc.core.jdbctemplate; impor org.springframework.web.bind.annotation.pathvariable; impor org.springframework.web.bind.annotation.requestmapping; impor org.springframework.web.bind.annotation.responseBody; impor org.springframework.web.bind.annotation.RestController; @ComponentScan @RestController @RequestMapping ("/item") Public Class ItemsController {@Autowired Private JDBCTemplate JDBCtemplate; /** * @return * Permintaan semua informasi */@RequestMapping ("/list") Daftar publik <peta <string, objek >> itemslist () {string sql = "pilih * dari item"; Daftar <peta <String, Object >> Daftar = jdbctemplate.QueryForList (SQL); daftar pengembalian; }/** * @param id * @return * Permintaan satu pesan berdasarkan ID */@RequestMapping ("/detail/{id}") peta publik <string, objek> detail (@pathvariable int id) {peta <string, objek> peta = null; Daftar <peta <string, objek >> list = itemslist (); peta = list.get (id); peta mengembalikan; }/** * Data baru * @param item * @return */@RequestMapping ("/add") public @ResponseBody String AddItems (Item Item) {String sql = "Masukkan ke dalam item (id, judul, nama, detail) nilai (?,?,?,?,?)"; Objek args [] = {items.getId (), items.gettitle (), items.getName (), items.getDetail ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "artikel yang berhasil ditambahkan"; } return "Artikel tambahan kesalahan"; }/** * @param item * @return * Hapus data */@RequestMapping ("/del") public @ResponseBody String delitems (item item) {string sql = "hapus dari item di mana id =?"; Objek args [] = {items.getId ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "artikel Hapus berhasil"; } return "Artikel dihapus kesalahan"; }/** * @param item * @return * Perbarui operasi */@RequestMapping ("/upd") public @ResponseBody String updItems (item item) {string sql = "Pembaruan item set title = ?, detail =? di mana id =?"; Objek args [] = {items.gettitle (), items.getDetail (), items.getId ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "artikel berhasil dimodifikasi"; } mengembalikan "kesalahan dalam modifikasi"; }}Ini penjelasan
@ComponentScan:
@ComponentScan memberi tahu Spring kelas anotasi mana yang akan dipindai secara otomatis oleh Spring dan dimuat ke dalam wadah kacang. Jika Anda memiliki kelas yang diidentifikasi dengan anotasi @Controller, maka jika @ComponentScan tidak ditambahkan untuk secara otomatis memindai pengontrol, pengontrol tidak akan dipindai oleh pegas, dan tidak akan dimuat ke dalam wadah pegas, dan pengontrol tidak akan berfungsi.
Kode kelas startup
paket org.amuxia.start; impor org.springframework.boot.springapplication; impor org.springframework.boot.autoconfigure.enableAutoconfiguration; impor org.springframework.web.bind.annotation.RestController; @RestController @EnableAutoconfiguration Aplikasi kelas publik {public static void main (string [] args) {system.out.println ("start ..."); Springapplication.run (itemscontroller.class, args); }}Meringkaskan
Di atas adalah apa yang diperkenalkan editor kepada Anda. Springboot menggunakan JDBCtemplate untuk menyelesaikan penambahan database, penghapusan, modifikasi dan fungsi pencarian. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!