commons-DBUtils使用方式简介

1.使用commons DButils组件对数据库进行查询。
首先使用数据源以及本组件进行数据库的连接,创建QueryRunner类型的对象。
使用数组,对sql语句中的占位符进行填充。
创建MapListHandler类型对象,用于装载每一条记录。
所有的记录都以List形式返回,使用代码中所示结果,对记录进行读取。
public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html;charset=utf-8");
  PrintWriter out = response.getWriter();
  out.print("Test AND I am so BORING!<br>");
  request.setCharacterEncoding("utf-8");
  Context context;
  try {
   context = new InitialContext();
   DataSource ds=(DataSource)context.lookup("java:/comp/env/jdbc/oracleds");
   QueryRunner qr=new QueryRunner(ds);
//   String sql="select * from users";
   String sql="select * from users where id=? and name=?";
   
   MapListHandler handler=new MapListHandler();
   String [] param={"2","meng"};
//   List list=(List)qr.query(sql,handler);
   List list=(List)qr.query(sql,param,handler);
   
   for(int i=0;i<list.size();i++){
    Map map=(Map)list.get(i);
    out.println(map.get("id"));
    out.println(map.get("name"));
    out.print("<br>");
   }
   
  } catch (NamingException e) {
     // TODO Auto-generated catch block
      e.printStackTrace();
  } catch (SQLException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
  }
    out.flush();
    out.close();
 }

}



2.使用本组件对数据库进行数据管理。包括“增删改”。
最开始一样,对数据库进行连接,然后创建QueryRunner类型的对象,由于对数据的管理不返回一个结果集,所以只返回一个int类型的变量。
一样使用数组对sql语句中的占位符进行填充。
最后根据返回的值的大小(和0比),来确定是否成功执行本语句。
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

  response.setContentType("text/html;charset=utf-8");
  PrintWriter out = response.getWriter();
  out.println("Test Again!");
  String sql="insert into users values(?,?) ";
  Context context;
  try {
   context = new InitialContext();
  
  DataSource ds=(DataSource)context.lookup("java:/comp/env/jdbc/oracleds");
  QueryRunner qr=new QueryRunner(ds);
//  MapListHandler handler=new MapListHandler();
  String [] params={"3","Zhang"};
  int i=qr.update(sql, params);
  if(i>0)
  {
   out.println("成功!");
  }
  else
  {
   out.println("Failed!");
  }
  } catch (NamingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }



别外加:

import java.sql.Connection; 
import java.sql.ResultSet; 
import java.sql.ResultSetMetaData; 
import java.sql.SQLException; 
import java.sql.DriverManager; 
import java.util.ArrayList; 
import java.util.List; 

import org.apache.commons.dbutils.QueryRunner; 
import org.apache.commons.dbutils.ResultSetHandler; 
import org.apache.commons.dbutils.handlers.BeanListHandler; 

public class dbtest 
{ 

    infoBean bean = new infoBean(); 

    BeanListHandler h = new BeanListHandler(bean.getClass()); 
    Connection connect = null; 
    List result = new ArrayList(); 

    try 
    { 
      Class.forName("com.mysql.jdbc.Driver"); 
      connect = DriverManager.getConnection( 
          "jdbc:mysql://localhost/normaltest", "root", "root"); 

        
      QueryRunner run = new QueryRunner(); 

      result = (ArrayList) run.query(connect, 
          "SELECT username,age,money,usertime FROM info", h); 
    } catch (Exception e) 
    { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    } 

    return result; 
  } 

你可能感兴趣的:(java,sql,mysql,bean,jdbc)