1. Agregue un método para convertir el mapa en userInfo en 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.setunumber ((Integer) map.get (unumner); 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;}Implementación de la capa DAO:
Lista pública Findall () {String sql = select * de user_info; List <map <string, object >> lists = jdbctemplate.queryforlist (sq); return userInfo.toObject (listas); }Resumen: este método se puede implementar, pero la velocidad es muy lenta.
2. Use jdbcTemplate.query(sql,RowMapper) para implementar:
Implementación de la capa DAO
jdbctemplate.query (SQL, New RowMapper <SererInfo> () {@Override public UserInfo Maprow (ResultSet RS, int ROWNUM) lanza SQLException {userInfo userInfo = new UserInfo (); UserInfo.Setuname (rs.getString ("uname");); UserInfo.SetUnumber (rs.getInt ("unumber"));Resumen: no se puede reutilizar en otros métodos de consulta.
3. Use RowMapper para implementar el método de interfaz y anular el método MapRow:
Public Class UserInfo implementa RowMapper, Serializable {@Override Public UserInfo Maprow (ResultSet RS, int Rownum) lanza 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.setureGisterTime (rs.getDate (uregister_time)); devolver userInfo; }}Implementación de la capa DAO:
Public UserInfo GetByID (ID de Integer) {String sql = select * de user_info donde id =? UserInfo userInfo = jdbctemplate.queryForObject (SQL, new UserInfo (), nuevo objeto [] {id}); devolver userInfo; } Public List findAll () {String sql = select * de user_info; List userInfos = jdbctemplate.query (SQL, new UserInfo ()); devolver userInfos; }4. Use la capa DAO
jdbctemplate.Query (sql.ToString (), new BeanPropertyRowMapper <SererInfo> (QSFyMXB.Class));
Spring proporciona una conveniente implementación de RowMapper ---- BeanPropertyRowMapper
Puede asignar automáticamente una fila de datos a la instancia de la clase especificada. Primero instancia la clase y luego la asigna al atributo haciendo coincidir el nombre.
Por ejemplo: el nombre del atributo (Vehicleno) coincide con la misma columna de nombre o la misma columna de nombre (Vehicle_no) con una columna subrayada (Vehicle_NO). Si una propiedad no coincide, el valor de la propiedad es nulo
Lo anterior es todo el contenido de este artículo sobre el uso de la consulta JDBCTemplate para devolver un ejemplo de código de recopilación de objetos personalizados. Espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!