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();
- }
-
- }
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();
- }
- }
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;
- }