




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网上报名系统开发案例三层架构设计与实现分为:1.数据访问层2.业务逻辑层3.控制器三个模块(1).考生报名模块(2).考生登录模块(3).修改密码模块设计package myclass.bol;import java.sql.*;import javax.sql.DataSource;import javax.naming.*;public class DBAccess private Connection conn = null; private Statement stmt = null; private ResultSet rs = null; private PreparedState
2、ment prpSql=null; public DBAccess() /* * 返回一个数据库连接 * return Connection */ public Connection getConn() if (conn = null) getConnection(); return conn; /* * 加载MySQL驱动 * 函数功能:获得连接对象,Statement对象 */ public void databaseDriver() try Class.forName(com.mysql.jdbc.Driver); catch(Exception e) public void getCo
3、nnection() databaseDriver(); try conn=DriverManager.getConnection(jdbc:mysql:/localhost:3306/booklib?useUnicode=true&characterEncoding=GB2312,root,000000); stmt=conn.createStatement(); /创建Statement对象,用于执行SQL语句 rs=stmt.executeQuery(select * from book); System.out.println(数据库连接建立(连接池)!); catch (SQLExc
4、eption ex2) System.out.println(请检查数据库是否启动!); ex2.printStackTrace(); /*返回结果集*param strSql 查询语句*return 成功返回结果集,失败返回Null */ public ResultSet query(String strSql) ResultSet rs = null; try rs=stmt.executeQuery(strSql); return rs; catch (SQLException ex) ex.printStackTrace(); return rs; /* 返回结果* param prp
5、Sql 查询预处理* return 成功返回结果集,失败返回null*/ public ResultSet query(PreparedStatement prpSql) this.prpSql=prpSql; ResultSet rs=null; try rs=this.prpSql.executeQuery(); return rs; catch (SQLException ex) ex.printStackTrace(); return rs; /*插入多条数据*param sqls insert语句数组*return 成功返回true,失败返回false*/ public boolea
6、n insert(String sqls) boolean breturn =false; try conn.setAutoCommit(false); for (int i=0;i sqls.length;i+) if(sqlsi !=null) stmt.addBatch(sqlsi); stmt.executeBatch(); mit(); conn.setAutoCommit(true); catch(SQLException ex) return breturn; /*返回影响行数 * param strSql查询语句*return 成功返回影响行数,失败返回0 -1 数据库访问错误
7、*/ public int executeSql(String strSql) int result=0; try stmt=conn.createStatement(); result=stmt.executeUpdate(strSql); catch (SQLException ex) System.out.println(产生异常,:at DBAccess.executeSql(); ex.printStackTrace(); result=-1; return result; /*返回影响行数*param StrSql 查询预处理*return影响行数,失败返回0*/ public i
8、nt executeSql(PreparedStatement prpSql) int result=0; try this.prpSql=prpSql; result=this.prpSql.executeUpdate(); catch(SQLException ex) System.out.print(产生异常,:at DBAccess.executeSql(); result=-1; return result; /*返回结果true或false*param sqls查询语句数组*return 成功true,失败false*/ public boolean executeSql(Stri
9、ng sqls) boolean breturn =false; try conn.setAutoCommit(false); stmt=conn.createStatement(); for(int i=0;i0)boolean isLD=true;for(int i=0;iexamID.length();i+)char c=examID.charAt(i);if(!(c=a)|(c=A)|(c=0)isLD=false;if(isLD=true & examDal.getExamineeByID(examID)!=null)return result=-2;if(isLD=true)res
10、ult=examDal.CreateExaminee(examID, examName, sex, company, address, phone, email, password, examType, memo, pic);elseSystem.out.println(身份证号或密码不符合要求!);System.out.println(函数返回值:+result);return result;/*考生登录方法*/public int examineeLogin(String examID,String password)examineeDal examDal=new examineeDal(
11、);int result=0;if(examID.length()=12|examID.length()=18)&password.length()0)examinee exam=null;exam=examDal.getExamineeByIdPwd(examID, password);if(exam!=null)result=1;elseresult=-1;return result;/*储存照片文件名*/public int setExamineePic(String examID,String picStr)examineeDal examDal=new examineeDal();/
12、int result;/if()/业务逻辑/return examDal.setExamineePic(examID, picStr);/*返回examinee对象*/public examinee getExamineeByID(String examID)examinee exam =null;examineeDal examdal=new examineeDal();exam=examdal.getExamineeByID(examID);return exam;/*返回examinee对象集*/public ArrayList getExamineeAll()examineeDal e
13、xamdal=new examineeDal();return examdal.getExamineeAll();/*设置用户密码*/public int setExamineePwd(String examID,String newPassword,String oldPassword)int result=0;examineeDal examdal=new examineeDal();if(newPassword=| newPassword.equals(oldPassword)return result;if(examdal.getExamineeByIdPwd(examID, oldP
14、assword)!=null)result=examdal.setExaminePwd(examID, newPassword);elseresult=-1;return result;/*更新考生信息*/public int updateExaminByID(String examID,String examName,String sex,String company,String address,String phone,String email,String examType,String memo)examineeDal examdal=new examineeDal();int re
15、sult=0;if(examName.length()0)result=examdal.updateExamineeByID(examID, examName, sex, company, address, phone, email, examType, memo);elsereturn result=-1;return result;/*删除考生数据*/public int deleteExamineeByID(String examID)examineeDal examdal=new examineeDal();int result=0;if(examID=null)result=-2;i
16、f(examID.length()0)result=examdal.deleteExmineeByID(examID);return result;package myclass.bol;import java.sql.ResultSet;import java.sql.PreparedStatement;import java.util.ArrayList;import myclass.bol.DBAccess;import myclass.bol.examinee;public class examineeDal /*在考生表中插入一条记录*return 成功1,失败0*/ public
17、int CreateExaminee(String examID,String examName,String sex, String company,String address,String phone,String email, String password,String examType,String memo,String pic) int result=0; String createSql=insert into examinee(id,name,sex,company,+ address,phone,email,password,examType,memo,pic)+valu
18、es(+examID+,+examName+,+sex+,+company+,+address+,+phone+,+email+,+password+,+examType+,+memo+,+pic+); DBAccess dba = new DBAccess(); try if(dba.getConn()!=null) result=dba.executeSql(createSql); catch(Exception ne) System.out.println(examineedal出现如下错误:); System.out.println(ne); finally dba.closeConn
19、ection(); return result; /*按考生身份证号获得一个考生对象(考生信息)*return 成功返回 examinee对象,失败返回null*param examID*/ public examinee getExamineeByID(String examID) DBAccess dba=new DBAccess(); examinee exam=null; try if(dba.getConn()!=null&examID!=null) String str=select * from examinee where id=+examID+; ResultSet rst=
20、dba.query(str); if(rst!=null&rst.next() exam=new examinee(rst.getString(1),rst.getString(2), rst.getString(3), rst.getString(4),rst.getString(5),rst.getString(6), rst.getString(7),rst.getString(8),rst.getString(10), rst.getString(9),rst.getString(11); catch(Exception ne) (examineedal:getExamineeByID
21、发生错误); finally dba.closeConnection(); return exam; /*返回examinee对象数组*return成功examinee对象数组,否则null*/ public ArrayList getExamineeAll() DBAccess dba=new DBAccess(); ArrayList examList = new ArrayList(); try if(dba.getConn()!=null) String str=select * from examinee; ResultSet rst=dba.query(str); while (r
22、st!=null&rst.next() if(rst.getString(id) !=null) examinee exam=new examinee(rst.getString(1),rst.getString(2), rst.getString(3), rst.getString(4),rst.getString(5),rst.getString(6), rst.getString(7),rst.getString(8),rst.getString(10), rst.getString(9),rst.getString(11); examList.add(exam); catch(Exce
23、ption ne) System.out.println(examineedal:getExamineeall发生错误); finally dba.closeConnection(); return examList; /*根据身份证和密码返回考生对象*return 成功examinee对象,失败返回null*/ public examinee getExamineeByIdPwd(String examID,String password) DBAccess dba=new DBAccess(); examinee exam=null; try if(dba.getConn() !=null
24、&examID!=null&password!=null) System.out.println(数据库连接已经建立); String str=select * from examinee where id=? and password=?; PreparedStatement prpSql; prpSql=dba.getConn().prepareStatement(str); prpSql.setString(1, examID); prpSql.setString(2, password); ResultSet rst=dba.query(prpSql); if(rst!=null&rs
25、t.next() exam=new examinee(rst.getString(1),rst.getString(2),rst.getString(3),rst.getString(4),rst.getString(5),rst.getString(6),rst.getString(7),rst.getString(8),rst.getString(9),rst.getString(10),rst.getString(11) ); if(prpSql!=null) prpSql.close(); prpSql=null; catch(Exception ne)(examineedal:get
26、examineebyIDPwd发生错误); finally dba.closeConnection(); return exam; /*函数功能修改用户密码*return 成功返回1,否则返回*/ public int setExaminePwd(String examID,String newPassword) DBAccess dba=new DBAccess(); int result=0; try if(dba.getConn()!=null) PreparedStatement prpSql; String strSql=Update examinee set password=?
27、where id=?; prpSql=dba.getConn().prepareStatement(strSql); prpSql.setString(1, newPassword); prpSql.setString(2, examID); result=dba.executeSql(prpSql); if(prpSql!=null) prpSql.close(); prpSql=null; catch(Exception ne) System.out.println(exmaineedal:setPassword发生错误); result=-1; finally dba.closeConn
28、ection(); return result; /*修改考生信息*return影响行数,失败0 */ public int updateExamineeByID(String examID,String examName,String sex,String company,String address,String phone,String email,String examType,String memo) DBAccess dba=new DBAccess(); int result=0; try if(dba.getConn()!=null) PreparedStatement prp
29、Sql; String strSql=update examinee set name=?,sex=?,company=?,+address=?,phone=?,email=?,examType=?,memo=?,where id=?; prpSql=dba.getConn().prepareStatement(strSql); prpSql.setString(1,examName); prpSql.setString(2, sex); prpSql.setString(3, company); prpSql.setString(4, address); prpSql.setString(5
30、, phone); prpSql.setString(6, email); prpSql.setString(7, examType); prpSql.setString(8, memo); prpSql.setString(9, examID); if(prpSql!=null) prpSql.close(); prpSql=null; catch(Exception ne) ne.printStackTrace(); System.out.println(ne.toString(); return -1; finally dba.closeConnection(); return resu
31、lt; /*设置图片文件名*param examID *param picStr *return 成功1,失败0*/ public int setExamineePic(String examID ,String picStr) DBAccess dba=new DBAccess(); int result=0; try if(dba.getConn()!=null) String strSql=update examinee set pic=+picStr+ where id=+examID+; result=dba.executeSql(strSql); catch(Exception n
32、e) System.out.println(发生异常+ne); ne.printStackTrace(); finally dba.closeConnection(); return result; /*按身份证号删除考生*param examID*return 1成功,0失败,出现异常*/ public int deleteExmineeByID(String examID) DBAccess dba=new DBAccess(); int result=0; try if(dba.getConn()!=null) PreparedStatement prpSql; String strSq
33、l=delete from examinee where id=?; prpSql=dba.getConn().prepareStatement(strSql); prpSql.setString(1, examID); result=prpSql.executeUpdate(); if(prpSql!=null) prpSql.close(); prpSql=null; catch(Exception ne) ne.printStackTrace(); System.out.println(ne.toString(); return -1; finally dba.closeConnecti
34、on(); return result; package myclass.bol;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import myclass.bol.*;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HandleLogin extends HttpServlet public String handleString(String s)try byte bb=s.getBytes(iso-8859-1); s=new String(bb);catch(Exception ee)return s;public HandleLogin() super();/* * D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物学基因工程知识重点试题
- 农村绿色生态农业开发共建契约书
- 文学作品赏析与文学创作测试题
- 机器人与自动化生产线研发协议
- 专业音乐演出排演及经纪代理合作协议
- 行政管理专业经济法知识点试题及答案
- 2025年工程经济统计分析试题及答案
- 电子商务法规与合规管理知识题库建设
- 落花生教学设计
- 相交线的课件
- 2022年南京晓庄学院教师招聘考试真题
- 婚前协议书简易模板(3篇)
- 《音乐治疗》课程教学大纲
- 华南理工大学模板课件
- 2023春期版国开电大本科《政府经济学》形考任务4试题及答案
- 痔病(内痔)中医临床路径(试行)
- 朝花夕拾电子版打印
- 初中数学北师大八年级下册第五章分式与分式方程认识分式
- (完整版)青马工程试题及答案
- JJF 1984-2022 电子测量仪器内石英晶体振荡器校准规范
- 新北师大版二年级下册数学竞赛题
评论
0/150
提交评论