首页 > Web开发 > 详细

MetaData

时间:2017-02-19 13:01:48      阅读:214      评论:0      收藏:0      [点我收藏+]
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
import com.heima.jdbc.domain.Emp;
import com.heima.jdbc.utils.JdbcUtil;
public class MetaDataDemo {       

       public static void main(String[] args) throws Exception {

              Connection conn = JdbcUtil.getConnection() ;                           // 获取连接对象

              String sql = "select * from emp" ;                                                // 定义sql模板

              PreparedStatement ps = conn.prepareStatement(sql) ;             // 获取PreparedStatement对象          

              ResultSetMetaData metaData = ps.getMetaData() ;                    // 获取结果集元数据

              int columnCount = metaData.getColumnCount() ;                    // 获取列的总数              

              ResultSet rs = ps.executeQuery() ;                                              // 执行sql

              while(rs.next()) {

                     Map<String , Object> map = new HashMap<String , Object>() ;   // 定义一个Map集合对象,用这个对象存储用户的数据 , 一条数据就是一个Map集合

                     Emp emp = new Emp() ;                                         // 创建Emp对象 , 用这个对象来封装数据

                  for(int x = 1 ; x <= columnCount ; x++) {                // 遍历列

                            String columnName = metaData.getColumnName(x) ;      // 获取列名称

                            Object obj = rs.getObject(x) ;                                            // 获取列对应的值

                            if("empno".equals(columnName)) {         // 把列的名称作为键 , 值作为值存储到Map集合中

                                   map.put("empNo", obj) ;

                            }else {

                                   map.put(columnName, obj) ;

                            }

                     } 

                     BeanUtils.populate(emp, map) ;                                  // 使用BeanUtils封装数据

                     System.out.println(emp);                                                          // 打印对象                 

              }

       }

}

 

 

 

MetaData

原文:http://www.cnblogs.com/loaderman/p/6415313.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!