




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Java+javabean+JDBC學(xué)生管理系統(tǒng)1、 項(xiàng)目結(jié)構(gòu)本項(xiàng)目是使用javabean和jdbc做的,這個(gè)包是實(shí)體包這個(gè)是菜單包,源碼不會(huì)再發(fā)這些,自己寫就好了。2、 項(xiàng)目運(yùn)行結(jié)果3、 源碼廢話不多說,直接上源碼:這兩個(gè)是關(guān)鍵源碼,是負(fù)責(zé)登錄和學(xué)生信息操作的邏輯類:public class AdminDaoImpl extends DBHelper implements AdminDao Admin admin = null;/* * 登錄 */SuppressWarnings("resource")Overridepublic Admin login(String n
2、ame) 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")
3、;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<Student> list = null;SuppressWarnings("resource")Overridep
4、ublic 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");st
5、u.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.printStac
6、kTrace(); finally this.closeAll();return stu;SuppressWarnings("resource")Overridepublic List<Student> getAllStu() String sql = "select * from student"Object obj = this.excute(sql, null);ResultSet rs = (ResultSet) obj;list = new ArrayList<Student>();try while (rs.next(
7、) 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(
8、"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 st
9、udent 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")Overridepubli
10、c 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.clos
11、eAll();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 = "de
12、lete 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 =
13、 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
14、 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.e
15、xcute(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 = &
16、quot;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() ;Obje
17、ct 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
18、 final String name = "root"private static final String pwd = "sa123456"private Connection conn = null;private PreparedStatement pstmt = null;private ResultSet rs = null;/* * 創(chuàng)建數(shù)據(jù)庫連接 * * return */public Connection Getconn() try Class.forName(Driver);conn = DriverManager.getConnect
19、ion(url, name, pwd); catch (ClassNotFoundException e) System.out.println("注冊(cè)驅(qū)動(dòng)失敗"); catch (SQLException e) System.out.println("驅(qū)動(dòng)包路徑錯(cuò)誤");return conn;public Object excute(String sql, Object param) int a = 0;Object o = null;this.Getconn();try pstmt = conn.prepareStatement(sql);if (
20、param != null) for (int i = 0; i < param.length; i+) pstmt.setObject(i + 1, parami);boolean b = pstmt.execute();if (b) rs = pstmt.getResultSet();o = rs; else a = pstmt.getUpdateCount();if (a > 0) o = true; else o = false;closeAll(); catch (SQLException e) e.printStackTrace();return o;/* * 關(guān)閉數(shù)據(jù)
21、庫 */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("錯(cuò)誤關(guān)閉");至于這個(gè)類,是一些控制臺(tái)輸入信息判斷,當(dāng)然可以貼出來供大家參考/* * 匹配信息 * * author Administrator * */public class Matches Scanner input = new Scanne
22、r(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.pr
23、intln("輸入錯(cuò)誤,只能輸入數(shù)字:");this.matchesId();return id;/* * 匹配性別 * * return */public String matchesGender() gender = input.next();if (!(gender.equals("男") | gender.equals("女") System.out.println("性別只能是男或者女:");this.matchesGender();return gender;/* * 匹配年齡 * * return *
24、/public int matchesAge() age = input.next();if (!Pattern.matches("0-91,$", age) System.out.println("以上輸入不合法,只能輸入1-120之內(nèi)的數(shù)字:");this.matchesAge(); else if (Integer.valueOf(age) < 1 | Integer.valueOf(age) > 120) System.out.println("以上輸入不合法,只能輸入1-120之內(nèi)的數(shù)字:");this.matchesAge();
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 太陽能真空管鍍膜機(jī)項(xiàng)目可行性研究報(bào)告
- 體育加盟合同協(xié)議書范本
- 2025年地產(chǎn)項(xiàng)目夏季水上樂園嘉年華(酷爽盛夏主題)活動(dòng)策劃方案46
- 奢侈品店銷售工作計(jì)劃書
- 雙方合作開店合同協(xié)議書
- 網(wǎng)站盈利合同協(xié)議書范本
- 中國5-硝體項(xiàng)目商業(yè)計(jì)劃書
- 裝修結(jié)束合同協(xié)議書模板
- 音樂策劃書范文4
- 2025年中國畜糞項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 安徽省2022年中考地理真題試卷(圖片版含答案)
- 青海省部門統(tǒng)計(jì)數(shù)據(jù)直報(bào)系統(tǒng)
- 常見輸液反應(yīng)及處理
- 大氣商務(wù)勵(lì)志年終工作總結(jié)PPT模板課件
- 感悟親情作文指導(dǎo)
- 幼兒園辦園標(biāo)準(zhǔn)
- 10kV及以下架空配電線路設(shè)計(jì)技術(shù)規(guī)程
- 硅膠安全技術(shù)說明書(MSDS)
- 鋼筋加工下料自動(dòng)計(jì)算表樣品
- 胸痛中心應(yīng)知應(yīng)會(huì)修改后
- 泡沫鋁生產(chǎn)技術(shù)
評(píng)論
0/150
提交評(píng)論