java+JDBC小项目《学生管理系统》源码带注解

上传人:仙*** 文档编号:119301674 上传时间:2022-07-14 格式:DOC 页数:12 大小:198.80KB
返回 下载 相关 举报
java+JDBC小项目《学生管理系统》源码带注解_第1页
第1页 / 共12页
java+JDBC小项目《学生管理系统》源码带注解_第2页
第2页 / 共12页
java+JDBC小项目《学生管理系统》源码带注解_第3页
第3页 / 共12页
点击查看更多>>
资源描述
Java+javabean+JDBC学生管理系统一、 项目结构本项目是使用javabean和jdbc做的,这个包是实体包这个是菜单包,源码不会再发这些,自己写就好了。二、 项目运行结果三、 源码废话不多说,直接上源码:这两个是关键源码,是负责登录和学生信息操作的逻辑类:public class AdminDaoImpl extends DBHelper implements AdminDao Admin admin = null;/* * 登录 */SuppressWarnings(resource)Overridepublic Admin login(String name) String sql = select * from admin where username=?;Object param = name;Object obj = this.excute(sql, param);ResultSet rs = (ResultSet) obj;try while (rs.next() admin = new Admin();String username = rs.getString(username);String password = rs.getString(password);admin.setUsername(username);admin.setPassword(password); catch (SQLException e) System.out.println(未找到此name);return admin;public class StudentDaoImpl extends DBHelper implements StudentDao Student stu = null;List list = null;SuppressWarnings(resource)Overridepublic Student getInfoByid(int id) String sql = select * from student where id=?;Object param = id ;Object obj = this.excute(sql, param);ResultSet rs = (ResultSet) obj;stu = new Student();try while (rs.next() stu.setId(rs.getInt(id);stu.setName(rs.getString(name);stu.setAge(rs.getInt(age);stu.setGender(rs.getString(gender);stu.setGrade(rs.getString(grade);stu.setPhone(rs.getLong(phone);stu.setEmail(rs.getString(email);stu.setAddress(rs.getString(address); catch (SQLException e) e.printStackTrace(); finally this.closeAll();return stu;SuppressWarnings(resource)Overridepublic List getAllStu() String sql = select * from student;Object obj = this.excute(sql, null);ResultSet rs = (ResultSet) obj;list = new ArrayList();try while (rs.next() stu = new Student();stu.setId(rs.getInt(id);stu.setName(rs.getString(name);stu.setAge(rs.getInt(age);stu.setGender(rs.getString(gender);stu.setGrade(rs.getString(grade);stu.setPhone(rs.getLong(phone);stu.setEmail(rs.getString(email);stu.setAddress(rs.getString(address);list.add(stu); catch (SQLException e) e.printStackTrace(); finally this.closeAll();return list;SuppressWarnings(resource)Overridepublic String getNameById(int id) String name = null;String sql = select name from student where id=?;Object param = id ;Object obj = this.excute(sql, param);ResultSet rs = (ResultSet) obj;try while (rs.next() name = rs.getString(name); catch (SQLException e) e.printStackTrace(); finally this.closeAll();return name;SuppressWarnings(resource)Overridepublic int getidByIntput(int id) int num = 0;String sql = select id from student where id=?;Object param = id ;Object obj = this.excute(sql, param);ResultSet rs = (ResultSet) obj;try while (rs.next() num = rs.getInt(id); catch (SQLException e) e.printStackTrace(); finally this.closeAll();return num;Overridepublic boolean addStudent(Object param) boolean b = false;String sql = insert into student values(?,?,?,?,?,?,?,?);Object obj = this.excute(sql, param);b = (boolean) obj;return b;Overridepublic boolean removeStuById(int id) boolean b = false;String sql = delete from student where id=?;Object param = id ;Object obj = this.excute(sql, param);b = (boolean) obj;return b;Overridepublic boolean modifyAllStuById(Student stu) boolean b = false;String sql = update student set age = ?,grade=?,address=?,phone=?,email=? where id = ?;Object param = stu.getAge(), stu.getGrade(), stu.getAddress(),stu.getPhone(), stu.getEmail(), stu.getId() ;Object obj = this.excute(sql, param);b = (boolean) obj;return b;Overridepublic boolean modifyPartStuById(Student stu, String attr) boolean b = false;if (attr.equals(age) String sql = update student set age =? where id=?;Object param = stu.getAge(), stu.getId() ;Object obj = this.excute(sql, param);b = (boolean) obj; else if (attr.equals(grade) String sql = update student set grade =? where id=?;Object param = stu.getGrade(), stu.getId() ;Object obj = this.excute(sql, param);b = (boolean) obj; else if (attr.equals(address) String sql = update student set address =? where id=?;Object param = stu.getAddress(), stu.getId() ;Object obj = this.excute(sql, param);b = (boolean) obj; else if (attr.equals(phone) String sql = update student set phone =? where id=?;Object param = stu.getPhone(), stu.getId() ;Object obj = this.excute(sql, param);b = (boolean) obj; else if (attr.equals(email) String sql = update student set email =? where id=?;Object param = stu.getEmail(), stu.getId() ;Object obj = this.excute(sql, param);b = (boolean) obj;return b;好吧,到此为止,逻辑算是完成了,接下来就是工具包,也就是JDBC通式public class DBHelper private static final String url = jdbc:mysql:/localhost:3306/sms?characterEncoding=utf-8;private static final String Driver = com.mysql.jdbc.Driver;private static final String name = root;private static final String pwd = sa123456;private Connection conn = null;private PreparedStatement pstmt = null;private ResultSet rs = null;/* * 创建数据库连接 * * return */public Connection Getconn() try Class.forName(Driver);conn = DriverManager.getConnection(url, name, pwd); catch (ClassNotFoundException e) System.out.println(注册驱动失败); catch (SQLException e) System.out.println(驱动包路径错误);return conn;public Object excute(String sql, Object param) int a = 0;Object o = null;this.Getconn();try pstmt = conn.prepareStatement(sql);if (param != null) for (int i = 0; i 0) o = true; else o = false;closeAll(); catch (SQLException e) e.printStackTrace();return o;/* * 关闭数据库 */public void closeAll() try if (rs != null) rs.close();if (pstmt != null) pstmt.close();if (conn != null) conn.close(); catch (SQLException e) System.out.println(错误关闭);至于这个类,是一些控制台输入信息判断,当然可以贴出来供大家参考/* * 匹配信息 * * author Administrator * */public class Matches Scanner input = new Scanner(System.in);static String id = null;static String gender = null;static String age = null;static String grade = null;static String phone = null;static String email = null;/* * 匹配id * * return */public String matchesId() id = input.next();if (Pattern.matches(0-91,$, id) else System.out.println(输入错误,只能输入数字:);this.matchesId();return id;/* * 匹配性别 * * return */public String matchesGender() gender = input.next();if (!(gender.equals(男) | gender.equals(女) System.out.println(性别只能是男或者女:);this.matchesGender();return gender;/* * 匹配年龄 * * return */public int matchesAge() age = input.next();if (!Pattern.matches(0-91,$, age) System.out.println(以上输入不合法,只能输入1-120之内的数字:);this.matchesAge(); else if (Integer.valueOf(age) 120) System.out.println(以上输入不合法,只能输入1-120之内的数字:);this.matchesAge();return Integer.parseInt(age);/* * 匹配年级 * * return */public String matchesGrade() grade = input.next();if (!(grade.equals(初级) | grade.equals(中级) | grade.equals(高级) System.out.println(无此年级设置,年级只能输入初级、中级或高级,请重新输入:);this.matchesGrade();return grade;/* * 匹配手机号 * * return */public long matchesPhone() phone = input.next();if (!Pattern.matches(0-911$, phone) System.out.println(输入有误,电话号码只能是11位数字,请重新输入:);this.matchesPhone();return Long.parseLong(phone);/* * 匹配email * * return */public String matchesEmail() email = input.next();if (!Pattern.matches(0-9a-zA-Z+0-9a-zA-Z+.0-9a-zA-Z+$, email) System.out.println(邮箱格式有误,请输入正确的电子邮箱(包含和.com));this.matchesEmail();return email;好了,别的我就不说了,怎么调用,我更就不用说了吧?本文为原创作品,转载需注明出处
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!