1. Ajoutez une méthode pour convertir la carte en userInfo dans UserInfo.java
public static userInfo toObject (map map) {userInfo userInfo = new userInfo (); userInfo.setid ((Integer) map.get (id)); userInfo.setUname ((string) map.get (uname)); userInfo.setuNumbumber ((Intger) map.get (unumber)); userInfo.setUnumber ((Intger) Map.get (unumber)); userInfo.setUnumber ((Intger) Map.get (unumber)); map.get (unumber)); userInfo.SetturegistTime ((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 userInfo = userInfo.toObject (map); if (userInfo = null) {userInfos.add (userInfo);}} return userInfos;}Implémentation de la couche DAO:
public list findall () {String sql = select * from user_info; List <map <string, objet >> lists = jdbctemplate.queryforlist (sq); return userInfo.toObject (listes); }Résumé: Cette méthode peut être mise en œuvre, mais la vitesse est très lente.
2. Utilisez jdbcTemplate.query(sql,RowMapper) pour implémenter:
Implémentation de la couche DAO
JDBCTemplate.Query (SQL, New RowMapper <UserInfo> () {@Override public UserInfo Maprow (ResultSet RS, int Rownum) lève SQLEXception {userInfo userInfo = new UserInfo (); userInfo.SetUname (Rs.GetString ("uname")); userInfo.setUnumber (Rs.getInt (uncura "); userInfo.SettureGister (Rs.getDate (uregister_time");Résumé: il ne peut pas être réutilisé dans d'autres méthodes de requête.
3. Utilisez RowMapper pour implémenter la méthode d'interface et remplacer la méthode MapRow:
La classe publique UserInfo implémente RowMapper, Serializable {@Override public userInfo MapRow (resultSet rs, int Rownum) lève SQLEXception {userInfo userInfo = new UserInfo (); userInfo.SetId (Rs.GetInt (ID)); userInfo.SetUname (Rs.getString (uname)); userInfo.setUnumber (Rs.getInt (unumber)); userInfo.setUnumber (Rs.getInt (unumber)); userInfo.SettureGisterTime (Rs.GetDate (uregister_time)); return userInfo; }}Implémentation de la couche DAO:
public userInfo getbyId (INTER ID) {String SQL = SELECT * FROM USER_INFO WHERE ID = ?; UserInfo userInfo = jdbCTemplate.QueryForObject (sql, new UserInfo (), nouvel objet [] {id}); return userInfo; } public list findall () {String sql = select * from user_info; List userInfos = jdbCTemplate.Query (SQL, new UserInfo ()); return userInfos; }4. Utilisez la couche DAO
jdbCTemplate.Query (sql.toString (), new BeanPropertyRowMapper <UserInfo> (qsfyMXB.class));
Spring fournit une implémentation RowMapper pratique ---- BeanProperToRyRowMapper
Il peut cartographier automatiquement une ligne de données à l'instance de la classe spécifiée. Il instancie d'abord la classe, puis le mappe à l'attribut en faisant correspondre le nom.
Par exemple: le nom d'attribut (VehicLeno) correspond à la colonne du même nom ou à la colonne du même nom (véhicule_no) avec une colonne soulignée (véhicule_no). Si une propriété ne correspond pas, la valeur de la propriété est nul
Ce qui précède est tout le contenu de cet article sur l'utilisation de la requête JDBCTemplate pour renvoyer un exemple de code de collecte d'objets personnalisé. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!