spring的jdbcTemplate 返回值为list
UserDaoImpl.java
package com.qieast.platform.does.dao.impl;import java.security.MessageDigest;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Random;import lombok.Data;import org.springframework.dao.DataAccessException;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.core.ResultSetExtractor;import org.springframework.jdbc.core.RowMapper;import org.springframework.jdbc.core.RowMapperResultSetExtractor;import com.qieast.platform.does.dao.IUserDao;import com.qieast.platform.model.HomeMember;@Datapublic class UserDaoImpl implements IUserDao {private HomeMember homeMember;private JdbcTemplate jdbcTemplate;private String salt = null;/** * 根据id找用户 * * @return */public HomeMember findUserById(int id) {homeMember = null;try {homeMember = (HomeMember) jdbcTemplate.queryForObject("SELECT uid FROM uchome_member WHERE uid = ?",new Object[] { id },com.qieast.platform.model.HomeMember.class);} catch (DataAccessException e) {e.printStackTrace(); // 以后注释掉}return homeMember;}/** * 判断指定name用户是否存在。当能插入时会抛出异常 * * @param name * @return */public int findUserByName(String name) {int temp = -1;try {temp = jdbcTemplate.queryForInt("SELECT uid FROM uchome_member WHERE username = ?",new Object[] { name });} catch (DataAccessException e) {}return temp;}@Overridepublic void saveUser(HomeMember homeMember) {salt = initSalt();int temp = -1;try {temp = jdbcTemplate.queryForInt("SELECT max(uid) FROM uchome_member");System.out.println(temp);jdbcTemplate.update("INSERT INTO uchome_member(uid,username,password,salt) VALUES('"+ ++temp+ "', '"+ homeMember.getUsername()+ "', '"+ md5(homeMember.getPassword())+ "','"+ salt + "')");} catch (DataAccessException e) {e.printStackTrace();}}/** * 随机生成salt * * @return */public String initSalt() {String salt = "";Random random = new Random();random.nextInt(27);for (int i = 0; i < 18; i++) {char temp = (char) (random.nextInt(26) + 97);salt = salt + temp;}return salt;}/** * 进行md5加密 * * @param text * @return */public String md5(String s) {char hexDigits[] = salt.toCharArray();try {byte[] strTemp = s.getBytes();MessageDigest mdTemp = MessageDigest.getInstance("MD5");mdTemp.update(strTemp);byte[] md = mdTemp.digest();int j = md.length;char str[] = new char[j * 2];int k = 0;for (int i = 0; i < j; i++) {byte byte0 = md[i];str[k++] = hexDigits[byte0 >>> 4 & 0xf];str[k++] = hexDigits[byte0 & 0xf];}return new String(str);} catch (Exception e) {return null;}}/** * 查找所有的学员 grouptype=0是管理员的 1是 学员 * * @param text * @return List<HomeMember> */public List<HomeMember> findAllStudent() {List<HomeMember> studentList = new ArrayList<HomeMember>();try {String sql = "SELECT * FROM uchome_member WHERE grouptype = 1";/*List<Map<String, Object>> lm = jdbcTemplate.queryForList(sql);for (Map<String, Object> map : lm) {System.out.println(map.keySet());Object o = (Object) map.values();// homeMember =(HomeMember)o;// studentList.add(homeMember);}*/studentList = jdbcTemplate.query(sql,new RowMapperResultSetExtractor(new UserRowMapper()));System.out.println(studentList);} catch (DataAccessException e) {e.printStackTrace();}return studentList;}class UserRowMapper implements RowMapper{public Object mapRow(ResultSet rs, int index) throws SQLException{HomeMember homeMember = new HomeMember();homeMember.setUid(rs.getInt("uid"));homeMember.setUsername(rs.getString("username"));homeMember.setPassword(rs.getString("password"));homeMember.setEmail(rs.getString("email"));homeMember.setRegip(rs.getString("regip"));homeMember.setRegdate(rs.getInt("regdate"));homeMember.setLastloginip(rs.getString("lastloginip"));homeMember.setLastlogintime(rs.getInt("lastlogintime"));homeMember.setListenline(rs.getInt("listenline"));homeMember.setUtype(rs.getInt("utype"));homeMember.setGrouptype(rs.getInt("grouptype"));homeMember.setSchoolid(rs.getInt("schoolid"));homeMember.setSalt(rs.getString("salt"));return homeMember;}}}