java语句实现数据库的增删查改(面向对象方式,以student为例)

xiaoxiao2021-02-27  215

共创建了三个包 分别为com.hkd.myschool.biz(包含main类和studentBiz类),com.hkd.myschool.dao(包含BaseDao类和StudentDao类),

com.hkd.myschool.enty(包含student类) ,具体实现代码如下:

package com.hkd.myschool.biz; import java.util.Scanner; public class main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); studentBiz sb =new studentBiz(); int option = 0; show(); while(option<5){ option =scan.nextInt(); switch (option) { case 1: sb.search();//查询学生 show(); break; case 2: sb.delete();//删除学生 show(); break; case 3: sb.add();//增加学生 show(); break; case 4: sb.update();//修改学生信息 show(); break; } } } private static void show() { System.out.println("****************************************"); System.out.println("*                1、查询学生                                    *"); System.out.println("*                2、删除学生                                    *"); System.out.println("*                3、增加学生                                    *"); System.out.println("*                4、修改学生信息                            *"); System.out.println("****************************************"); System.out.print("请选择你要执行的功能:"); } }

package com.hkd.myschool.biz; import java.util.List; import java.util.Scanner; import com.hkd.myschool.dao.StudentDao; import com.hkd.myschool.entity.student; public class studentBiz { student stu =new student(); Scanner scan = new Scanner(System.in); public void add(){ StudentDao sd =new StudentDao(); System.out.print("请输入要添加的学生姓名:"); String name=scan.next(); stu.setName(name); System.out.print("请输入要添加的学生年龄:"); int age =scan.nextInt(); stu.setAge(age); System.out.print("请输入要添加的学生电话:"); String tel =scan.next(); stu.setTel(tel); int a =sd.add(stu); if(a>0){ System.out.println("添加成功"); }else{ System.out.println("添加失败"); } } public void delete(){ StudentDao sd =new StudentDao(); search(); System.out.print("输入你要删除的学号:"); int id =scan.nextInt(); int a =sd.delete(id); if(a>0){ System.out.println("删除成功"); }else{ System.out.println("删除失败"); } } public void update(){ StudentDao sd =new StudentDao(); search(); System.out.println("请输入要更改的编号:"); stu.setStudentNo(scan.nextInt()); System.out.println("请输入要更改的姓名:"); stu.setName(scan.next()); System.out.println("请输入要更改的年龄:"); stu.setAge(scan.nextInt()); System.out.println("请输入要更改的电话号码:"); stu.setTel(scan.next()); int a =sd.update(stu); if(a>0){ System.out.println("更改成功"); }else{ System.out.println("更改失败"); } } public void search(){ StudentDao sd =new StudentDao(); System.out.println("编号\t姓名\t年龄\t电话号码"); List <student> list =sd.selectAll(); for(student stu:list){ System.out.println(stu.getStudentNo()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getTel()); } } }

package com.hkd.myschool.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class BaseDao { String DBUser ="root";//用户名 String DBPwd= "root";//密码 String DBHost ="localhost";//服务器地址 String DBName ="myschool";//数据库名称 int Port1 =3306;//数据库端口 int Port2 =1433; int DBType =1;//1代表mysql 2 代表sqlserver Connection conn;//连接对象 PreparedStatement ps;//查询对象 ResultSet rs;//结果集 public void open(){ try{ if(DBType==1){ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://"+DBHost+":"+Port1+"/"+DBName,DBUser,DBPwd); }else if(DBType==2){ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn=DriverManager.getConnection("jdbc:sqlserver://"+DBHost+":"+Port2+";databasename="+DBName,DBUser,DBPwd); } }catch (ClassNotFoundException e) { // TODO Auto-generated catch block System.out.println("驱动加载失败"); e.printStackTrace(); } catch(Exception e){ System.out.println("数据库链接失败"); e.printStackTrace(); } } public void close(){ try{ if(rs!=null) rs.close();//如果结果集存在,就关闭结果集 ps.close();//关闭查询对象 conn.close();//关闭链接对象 } catch(Exception e){ e.printStackTrace(); } } /** * 执行增删改 * @param sql语句 * @param parm参数 * @return 受影响的行数 */ public int executeUpdate(String sql,Object[] parm){ open(); int a =0; try{ ps=conn.prepareStatement(sql); if(parm!=null){ for(int i=0;i<parm.length;i++){ ps.setObject(i+1, parm[i]); } } a=ps.executeUpdate();//执行 }catch(SQLException e){ e.printStackTrace(); } close(); return a; } /** * 执行查询结果集 * @param sql 语句 * @param parm 参数 * @return 结果集 */ public ResultSet executeQuery(String sql,Object[] parm){ open(); try{ ps=conn.prepareStatement(sql); if(parm!=null){ for(int i=0;i<parm.length;i++){ ps.setObject(i+1, parm[i]); } } rs=ps.executeQuery();//执行 }catch(SQLException e){ e.printStackTrace(); } return rs; } } package com.hkd.myschool.dao; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.hkd.myschool.entity.student; public class StudentDao extends BaseDao { public int add(student stu){ String sql="insert into student values(null,?,?,?)"; Object parm[]={stu.getName(),stu.getAge(),stu.getTel()}; int a =executeUpdate(sql, parm); return a; } public int delete(int id){ String sql="delete from student where studentNo=? "; Object parm[]={id}; int a =executeUpdate(sql, parm); return a; } public int update(student stu){ String sql="update student set  name=? , age=? , tel=? where studentNo =?"; Object parm[]={stu.getName(),stu.getAge(),stu.getTel(),stu.getStudentNo()}; int a =executeUpdate(sql, parm); return a; } public List<student> selectAll(){ String sql="select * from student"; List<student> list=new ArrayList<student>(); rs=executeQuery(sql, null); try { while(rs.next()){ student stu = new student(); stu.setStudentNo(rs.getInt("studentNo")); stu.setName(rs.getString("name")); stu.setAge(rs.getInt("age")); stu.setTel(rs.getString("tel")); list.add(stu); } close();//在这里进行关闭 catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }

package com.hkd.myschool.entity; public class student { String name; int age; int studentNo; String tel; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getStudentNo() { return studentNo; } public void setStudentNo(int studentNo) { this.studentNo = studentNo; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } }

转载请注明原文地址: https://www.6miu.com/read-8531.html

最新回复(0)