packageorg.gaoyoubo.dao;importjava.sql.*;importjava.util.*;importjavax.servlet.jsp.jstl.sql.*;publicclassCommanDao {privateConnection con;privateString sql;privateList parameters;//设置连接publicvoidsetCon(Connection con) {this.con = con;}//设置sql语句;publicvoidsetSql(String sql) {this.sql = sql;}//设置sql语句参数;publicvoidsetParameters(List aparametersrameters) {this.parameters = aparametersrameters;}/*** 执行查询;
*@return*/publicResult executeQuery(){Result result =null;ResultSet rs =null;PreparedStatement pstmt =null;try{//如果sql语句有参数;if(parameters !=null&& parameters.size() > 0){pstmt = con.prepareStatement(sql);setParameters(pstmt, parameters);rs = pstmt.executeQuery();}//如果没有参数;else{pstmt = con.prepareStatement(sql);rs = pstmt.executeQuery();}}catch(SQLException e) {//TODO: handle exceptione.printStackTrace();}//将ResultSet转换成Result;result = ResultSupport.toResult(rs);returnresult;}/*** 执行更新;
*@return返回受影响行数;*/publicintexecuteUpdate(){intnoOfRows = 0;ResultSet rs =null;PreparedStatement pstmt =null;try{//如果参数不为空;if(parameters !=null&& parameters.size() > 0){pstmt = con.prepareStatement(sql);setParameters(pstmt, parameters);noOfRows = pstmt.executeUpdate();}else{pstmt = con.prepareStatement(sql);noOfRows = pstmt.executeUpdate();}}catch(SQLException e) {//TODO Auto-generated catch blocke.printStackTrace();}returnnoOfRows;}/*** 方法,为sql语句设置参数;
*@parampstmt 指令
*@paramparameters 参数集合;
*@throwsSQLException*/privatevoidsetParameters(PreparedStatement pstmt,List parameters)throwsSQLException{for(inti = 0; i