1. Tambahkan metode untuk mengonversi peta ke userInfo di UserInfo.java
public static userInfo toObject (peta peta) {userInfo userInfo = new UserInfo (); userInfo.setId ((integer) map.get (id)); userinfo.setuname ((string) map.get (uname)); userinfo.setunumber ((integer) map.get (uname)); Userinfo.setunumber ((integer) map.get (uname)); userinfo.setunumber ((integer) map.get (uname)); userinfo.setunumber ((integer) peta (get) map. map.get(unumber));userInfo.setuRegisterTime((Date) map.get(uregister_time));return userInfo;}public static List toObject(List> lists){List userInfos = new ArrayList();for (Map map : lists) {UserInfo userInfo = UserInfo.toObject(map);if (userInfo != null) {userInfos.add (userInfo);}} return userInfos;}Implementasi Lapisan DAO:
Daftar Publik FindAll () {String SQL = SELECT * Dari user_info; Daftar <peta <string, objek >> daftar = jdbctemplate.queryforlist (sq); return userInfo.toObject (daftar); }Ringkasan: Metode ini dapat diimplementasikan, tetapi kecepatannya sangat lambat.
2. Gunakan jdbcTemplate.query(sql,RowMapper) untuk mengimplementasikan:
Implementasi Lapisan DAO
jdbctemplate.Query (SQL, RowMapper baru <UserInfo> () {@Override UserInInfo PuberInfo MapRow (hasil RS, int rownum) melempar sqlexception {UserInfo userInfo = UserInfo baru ()); userinfo.setuname (rs.getString ("uN"); UserInInfo.setuname (rs.getString ("unging (" uN "uNGRING (" UserInfo.setunumber (rs.getint ("UNumber"));Ringkasan: Itu tidak dapat digunakan kembali dalam metode kueri lain.
3. Gunakan RowMapper untuk mengimplementasikan metode antarmuka dan mengganti metode MapRow:
Public Class UserInfo mengimplementasikan RowMapper, Serializable {@Override Public UserInfo MapRow (hasil RS, int rownum) melempar sqlexception {userInfo userinfo = UserInfo baru (); userInfo.setId (rs.getint (id)); userInfo.setuname (rs.getString (uname)); userInfo.setunumber (rs.getint (Unumber)); userInfo.setunumber (rs.getint (Unumber)); userInfo.setureGistertime (rs.getDate (uRegister_time)); mengembalikan userInfo; }}Implementasi Lapisan DAO:
Public UserInfo getById (Integer ID) {String SQL = SELECT * Dari user_info di mana id = ?; UserInfo userInfo = jdbctemplate.queryforObject (sql, userInfo baru (), objek baru [] {id}); mengembalikan userInfo; } daftar publik findAll () {string sql = pilih * dari user_info; Daftar userInfos = jdbctemplate.query (sql, userInfo ()); mengembalikan userInfos; }4. Gunakan lapisan DAO
jdbctemplate.query (sql.tostring (), beanpropertyrowmapper baru <UserInfo> (qsfymxb.class));
Spring menyediakan implementasi rowmapper yang nyaman ---- Beanpropertyrowmapper
Ini dapat secara otomatis memetakan deretan data ke instance dari kelas yang ditentukan. Ini pertama -tama membuat kelas dan kemudian memetakannya ke atribut dengan mencocokkan nama.
Misalnya: Nama atribut (kendaraan) cocok dengan kolom nama yang sama atau kolom nama yang sama (kendaraan_no) dengan kolom yang digarisbawahi (kendaraan_no). Jika suatu properti tidak cocok, nilai properti adalah nol
Di atas adalah semua konten artikel ini tentang menggunakan kueri JDBCtemplate untuk mengembalikan contoh kode koleksi objek khusus. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!