连接数据库中的 全局变量开关 12.30

//显示rs中的数据,标出行数,行号,执行时间,列名
// protected void show(){  
//  try {
//   ResultSetMetaData rsmd=rs.getMetaData();
   ResultSetMetaData 保存着搜索结果的描述信息,字段名,字段数据库类型,字段java类型,字段数量,字段数据库精度等
//   rsmd.getColumnCount();//字段数量
//   rsmd.getColumnClassName(1);//第一字段对应的java类型
//   rsmd.getColumnName(2);//第二字段对应的字段名
//   rsmd.getColumnType(3);//第三字段对应sql类型
//   
//   //增强resultset的一些方法
//   //ResultSet 结构里有首位。数据在中间,第一次要用next。
//   rs.afterLast();// 尾节点
//   rs.first();  //第一个数据节点
//   rs.beforeFirst();  //首节点
//   rs.last();  //最后一条数据节点
//   
//   rs.absolute(10);//获取指定行号
//   rs.getRow();//获取当前行号
//   
//   rs.next();   //下一个
//   rs.previous();//上一个
//    
//   //使用以上方法要先开启stm或者pstm的游标。否则报错
//   //stm =  con.createStatement(1004,1007);
//   //pstm= con.prepareStatement(sql,1004,1007);
//   
//  } catch (SQLException e) {
//   // TODO Auto-generated catch block
//   e.printStackTrace();
//  }
// } 
 //显示rs中的数据,标出行数,行号,执行时间,列名
 protected void show(){
  if(Constant.showers) return;//全局开关
  try {
   ResultSetMetaData rsmd=rs.getMetaData();
   int count =rsmd.getColumnCount();
   System.out.println("执行时间"+(start.getTime()-new Date().getTime()));
   rs.beforeFirst();//将游标提到第一个节点(无数据)
   if(!rs.next()){System.out.println("结果中没有数据");return ;}//检测是否有下一节点
   rs.last();  //游标移动到最后一个数据节点
      int row =rs.getRow();//获取当前行数
      System.out.println("共"+row+"行");  //如果 结果集中没有数据  last会出错。所以应该先对首节点的数据探测。
      System.out.println("-----------------------------------");//下面开始显示数据
      System.out.print("行数\t");   //去除ln  不换行
      for(int i=1;i<count;i++){ //字段操作都是以1开始
       System.out.print(rsmd.getColumnName(i)+"\t");
      }
      System.out.println("\n------------------------------");
  //接下来是显示数据,把游标提到首节点,上面是提取行数时下移到最后
      rs.beforeFirst();
      while(rs.next()){
       System.out.print(rs.getRow()+"\t|");
       for (int i = 1; i < count; i++) {
     System.out.print(rs.getString(i)+"\t|");
    } System.out.println();
      }

	System.out.println("\n\n\n");
  rs.beforeFirst();//显示结束后。将游标归为
  } catch (Exception e) {
   // TODO: handle exception
  } 
 }
 protected <OBJ> List<OBJ> autoInject(OBJ o){
  return null;
 }
}

另一个class里写全局的开关,

package root.tools.tool;
public class Constant {
 //常量,设置开关用
 public  static final  Boolean showers = false;//当showers 是 true 的时候,不显示
}

在实现接口的impl中。

//添上这两句。得先打开才能使用

 stm=con.createStatement(1004,1007);
  
   show();//要都搜完以后才能展示。所以在rs下

效果图如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值