DBUtil 查询(2 有参数)

来源:互联网 发布:知乎一小时系列资源 编辑:程序博客网 时间:2024/06/05 08:01
package day20;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import org.apache.commons.dbutils.QueryRunner;import org.apache.commons.dbutils.ResultSetHandler;import com.mysql.jdbc.Connection;public class TestWithParamSelect {/** * @param args * @throws Exception  */public static void main(String[] args) throws Exception {           testWithParamSelect();}public static void testWithParamSelect() throws Exception {/********************************************** * 匿名对象*/ResultSetHandler resultSetHandler=new ResultSetHandler(){public Object handle(ResultSet rs) throws SQLException {System.out.println("ResultSetHandlerImpl****************");List<Person> list=new ArrayList<Person>();while(rs.next()){Person p=new Person();p.setEmail(rs.getString(3));p.setId(rs.getInt(1));p.set姓名(rs.getString(2));list.add(p);}return list; }};/************************************************* *///注册驱动  DBManager dbManager=new DBManager();          //获取连接   Connection conn=dbManager.getConnection();String username="zhang";String sql="select id,姓名,email from students where 姓名 like ?";//设置参数Object[] params=new Object[1];params[0]="%"+username+"%";/* * 执行sql的类,该类中提供了增删改查语句的方法  * query(conn,sql,rsh)第三个参数:转化结果集--->对象ResultHandler * ResultHandler实现类接口的返回值就是query 方法的返回值 * query.query(conn, sql,new ResultSetHandlerImpl()) * *该方法的返回值就是ResultHandler实现类接口ResultSetHandlerImpl的 * *的方法public Object handle(ResultSet rs) throws SQLException的返回值 * * 是由底层开发者调用,不需要自己调用 */QueryRunner query=new QueryRunner();Object obj=query.query(conn, sql,resultSetHandler,params);System.out.println("obj===  "+obj);//Person p1=(Person)obj;//System.out.println(p1.getId()+"   "+p1.get姓名()+"    "+p1.getEmail());List<Person> list1=(List)obj;for(Person p:list1){System.out.println(p.getId()+"   "+p.get姓名()+"    "+p.getEmail());}}}


原创粉丝点击