外贸网站建设 杭州,制作网站需要哪些素材,wordpress怎么加音乐,注册网站法律风险今天在上课的时候#xff0c;带着学生们写底层的jdbc连接数据库并且对数据表进行增删改查#xff0c;写的那就一个痛苦啊……从创建实体类到写Dao层代码再到表现层的Jsp页面#xff0c; 写了好久好久……终于写完了#xff01;#xff01;#xff01;其实吧#xff0… 今天在上课的时候带着学生们写底层的jdbc连接数据库并且对数据表进行增删改查写的那就一个痛苦啊……从创建实体类到写Dao层代码再到表现层的Jsp页面 写了好久好久……终于写完了其实吧主要还是DaoImpl层的代码写的太多代码过于臃肿反而BaseDao这个“工具类”却写的一点点。于是这不刚刚就把这个BaseDao改进了一下将凡是公共可以共用的代码都提到了BaseDao中DaoImpl层光写所需要实现的sql语句和对应的参数即可剩下的任务由BaseDao去执行。下面是BaseDao的代码package org.dao;import java.sql.*;
import java.util.List;import com.sun.org.glassfish.external.statistics.annotations.Reset;/*** * author 24519* 连接数据库的工作类**/
public class BaseDaoNew {private Connection conn null;private PreparedStatement pre;private ResultSet rs;//连接数据库public Connection getConn(){try{//加载驱动Class.forName(com.mysql.jdbc.Driver);//数据库连接字符串String url jdbc:mysql://localhost:3306/schooldb?userrootpasswordroot;//连接数据库conn DriverManager.getConnection(url);}catch(Exception ex){ex.printStackTrace();}return conn;}//增删改public int ExecuteUpdate(String sql,List params) throws SQLException{int rel 0;conn getConn();pre conn.prepareStatement(sql);if(params!null){for(int i 0;iparams.size();i){pre.setObject(i1, params.get(i));}}rel pre.executeUpdate();return rel;}//查询public ResultSet ExecuteQuerty(String sql,List params) throws SQLException{conn getConn();pre conn.prepareStatement(sql);if(params!null){for(int i 0;iparams.size();i){pre.setObject(i1, params.get(i));}}return pre.executeQuery();}//关闭连接public void closeConn(Connection conn,PreparedStatement pre,ResultSet rs){try {if(rs!null){rs.close();}if(pre!null){pre.close();}if(conn!null){conn.close();}} catch (SQLException e) {e.printStackTrace();}}}可以看得出来我们将连接数据库增删改、查询以及关闭连接都提取成独立的方法在Impl层直接调用对应的是方法即可。Overridepublic Student login(String name, String pass,String info){Student student new Student();String sql select * from student where sname ? and spass ?;BaseDaoNew base1 new BaseDaoNew();ListObject params new ArrayListObject();params.add(name);params.add(pass);try {rs base1.ExecuteQuerty(sql, params);while(rs.next()){student.setSid(rs.getInt(1));student.setSname(rs.getString(2));student.setSphone(rs.getString(3));student.setSpass(rs.getString(4));student.setSaddress(rs.getString(5));student.setSage(rs.getInt(6));}} catch (SQLException e) {e.printStackTrace();}finally{base1.closeConn(conn, pre, rs);}return student;分享几个花拳绣腿的网页布局2020-11-10 常用CSS属性整理2020-11-09 jsp的内置对象2020-11-08 今天拍了一些照片2020-11-09 我的职校新生活2020-11-07 今天我们来抽个奖2020-11-06 今天 ,给大家变个魔术!!!2020-11-05 点分享点点赞点在看