package com.service;
import java.lang.reflect.Method;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.ArrayList;
import java.util.List;
import com.entity.Student;
public class Service {
public List toList(ResultSet rs,Class cls)
{
try
{
List lst=new ArrayList();
ResultSetMetaData meta=rs.getMetaData();
Object obj=null;
while(rs.next())
{
obj=Class.forName(cls.getName()).newInstance();
for(int i=1;i<=meta.getColumnCount();i++)
{
String colName=meta.getColumnName(i);
colName=colName.replace(colName.charAt(0)+"", new String(colName.charAt(0)+"").toUpperCase());
String methodName="set"+colName;
System.out.println(methodName);
Object value=rs.getObject(i);
Method method=obj.getClass().getMethod(methodName, value.getClass());
method.invoke(obj, value);
}
lst.add(obj);
}
return lst;
}
catch(Exception ex)
{
ex.printStackTrace();
return null;
}
}
}
分享到:
相关推荐
List<HostAddress> address = Arrays.asList(new HostAddress("nebula ip 地址", 端口号)); nebulaPool.init(address, config); session = nebulaPool.getSession("nebula 用户名", "密码", false); ... } catch...
8 对List排序 <br>4. 9 HashSet. LinkedHashSet和TreeSet <br>4. 10 列表. 集合与数组的互相转换 <br>4. 11 HashMap. Hashtable. LinkedHashMap和TreeMap <br>4. 12 对Map排序 <br>4. 13 Properties属性文件 <br>第...
- 在finally块中关闭`ResultSet`、`Statement`以及`Connection`对象,确保资源得到释放。 #### 四、动态显示新闻标题的实现 1. **实时更新机制**: - 为了实现实时更新新闻标题的功能,可以通过定时任务或...
10. **JDBC API**:使用JDBC进行数据库操作,包括Connection、Statement、ResultSet接口,DriverManager类,PreparedStatement和CallableStatement接口,以及批处理和存储过程调用。 **Java面向对象企业级应用核心...
Java JDK 6学习笔记——PPT简体版是针对初学者和有经验的开发者们的一份宝贵资源,它深入浅出地介绍了Java编程语言的核心概念和技术。这份资料以PPT的形式呈现,使得学习过程更加直观易懂,同时包含了课程中的源代码...
import java.sql.Connection; import java.sql.PreparedStatement;...import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List;
</list> </property> <property name="beanNames"> <list> <value>dataSource</value> </list> </property> </bean> ``` 这段配置表示,将名为`log4jdbcInterceptor`的拦截器应用到名为`dataSource`的数据源...
<result name="success">/main/book_list.jsp</result> </action> <action name="main" class="action.main.MainAction"> <result name="success">/main/main.jsp</result> </action> ...
List<Book> books = new ArrayList<>(); try (Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM books LIMIT ?, ?")) { pstmt.setInt(1, (pageNum - 1) * ...
List<UserInfo> list = new ArrayList<>(); while (rs.next()) { UserInfo ui = new UserInfo(); ui.setUid(rs.getInt("uid")); ui.setUname(rs.getString("uname")); uisetUpass(rs.getString("upass")); ui...
List<User> userList = new ArrayList<>(); try (Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setInt(1, (pageNum -...
《Spring JDBC模板——jdbcTemplate.jar深度解析》 在Java编程领域,Spring框架以其强大的功能和易用性成为了开发者们的首选。而在Spring框架中,Spring JDBC是处理数据库操作的重要模块,它提供了一种更加简洁、...
7.2.4 参数列表(Parameter List) 159 7.2.5 方法体(Method Body) 160 7.2.6 方法串串烧 160 7.3 方法的参数:让汽车加速 161 7.3.1 方法的参数:让汽车可以加速 161 7.3.2 带参数的方法有何不同? 162 ...
7.2.4 参数列表(Parameter List) 159 7.2.5 方法体(Method Body) 160 7.2.6 方法串串烧 160 7.3 方法的参数:让汽车加速 161 7.3.1 方法的参数:让汽车可以加速 161 7.3.2 带参数的方法有何不同? 162 ...
ArrayList<Student> list = new ArrayList<>(); try { con = new DBUtil().getConnection(); String sql = "SELECT * FROM students"; ps = con.prepareStatement(sql); rs = ps.executeQuery(); while (rs...
public List<User> getAllUsers() { String sql = "SELECT * FROM user"; return jdbcTemplate.query(sql, new RowMapper<User>() { @Override public User mapRow(ResultSet rs, int rowNum) throws ...
其中,Spring提供的三个主要模板类——`JdbcTemplate`、`NamedParameterJdbcTemplate`和`SimpleJdbcTemplate`,极大地简化了数据库操作,减少了代码量,提高了代码的可读性和可维护性。 #### JdbcTemplate `...
List<User> users = namedParameterJdbcTemplate.query(sql, params, new UserRowMapper()); ``` 在这个例子中,`UserRowMapper`与上面提到的`RowMapper`类似,负责将结果集映射为User对象。 Spring JDBC还提供了...
ParameterHandler 用于将用户传递的参数转换为 SQL 语句所需的参数,而 ResultSetHandler 则将 JDBC 返回的 ResultSet 转换为 List 类型的数据集合。 在 MyBatis 中,插件的编写需要实现 Interceptor 接口,并重写 ...