**//java之jdbc+DAO實現學生信息的增刪改**

//java之jdbc學生信息的增刪改
//先建立學生類和成績類

package USEBEAN;

public class Grade {

    private int id;
    private int grade;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getGrade() {
    return grade;
    }
    public void setGrade(int grade) {
        this.grade = grade;
    }
}

//—————————————

package USEBEAN;

public class Student {

private int id;
private String name;
private int age;
private int grade;
public int getGrade() {
    return grade;
}
public void setGrade(int grade) {
    this.grade = grade;
}
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
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;
}

}
//——————-連接數據庫

package USEUTIL;

import java.sql.Connection;

import java.sql.DriverManager;

public  class BaseConnection {

    public static Connection getConnection() {
    Connection conn=null;
    try {
        Class.forName("com.mysql.jdbc.Driver");
        conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/student_table","root","1211");
    }catch (Exception e) {
        e.printStackTrace();
    }
    return conn;
}
public static void main(String[] args) {
    Connection conn=BaseConnection.getConnection();
    System.out.println(conn);
}

}
//——————–泛型DAO+JDBC增刪改
package USEDAO;

import java.sql.Connection;
import java.util.ArrayList;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import USEUTIL.BaseConnection;

public class StudentDao<Student> {
public ArrayList<Student> getList(){
    ArrayList<Student> ar=new ArrayList<Student>();
    Connection conn=BaseConnection.getConnection();
    PreparedStatement ps=null;
    ResultSet rs=null;
    try {
        String sql="select * from every_stu,stu_kind where every_stu.id=stu_kind.id";
        ps=conn.prepareStatement(sql);
        rs=ps.executeQuery();
        while(rs.next()) {
            USEBEAN.Student st=new USEBEAN.Student();
            st.setId(rs.getInt("id"));
            st.setName(rs.getString("name"));
            st.setAge(rs.getInt("age"));
            st.setGrade(rs.getInt("grade"));
            ar.add((Student) st);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }finally {
        try {
            if(rs!=null) {
                rs.close();
            }
            if(ps!=null) {
                ps.close();
            }
            if(conn!=null) {
                conn.close();
            }
        }catch(Exception ee) {
            ee.printStackTrace();
        }
        }

return ar;
}
public void insert(Student st) {
    Connection conn=BaseConnection.getConnection();
    PreparedStatement ps=null;
    String sql="insert into every_stu(name,age) "+"values(?,?)";
    try {
        ps=conn.prepareStatement(sql);
        ps.setString(1,((USEBEAN.Student) st).getName());
        ps.setInt(2,((USEBEAN.Student) st).getAge());
        int a=ps.executeUpdate();
        if(a>0) {
            System.out.println("添加成功");
        }else {
            System.out.println("添加失敗");
        }
    } catch (Exception e) {
        e.printStackTrace();
    }finally {
        try {

            if(ps!=null) {
                ps.close();
            }
            if(conn!=null) {
                conn.close();
            }
        }catch(Exception ee) {
            ee.printStackTrace();
        }
        }
    }
public void update(Student st) {
    Connection conn=BaseConnection.getConnection();
    PreparedStatement ps=null;
    String sql="update every_stu set name=?,age=?"+" where id=?";
    try {
        ps=conn.prepareStatement(sql);
        ps.setString(1,((USEBEAN.Student) st).getName());
        ps.setInt(2,((USEBEAN.Student) st).getAge());
        ps.setInt(3,((USEBEAN.Student) st).getId());
        int a=ps.executeUpdate();
        if(a>0) {
            System.out.println("更新成功");
        }else {
            System.out.println("更新失敗");
        }
    } catch (Exception e) {
        e.printStackTrace();
    }finally {
        try {

            if(ps!=null) {
                ps.close();
            }
            if(conn!=null) {
                conn.close();
            }
        }catch(Exception ee) {
            ee.printStackTrace();
        }
        }

}
public void delete(int id) {
    Connection conn=BaseConnection.getConnection();
    PreparedStatement ps=null;
    String sql="delete from every_stu where id=?";
    try {
        ps=conn.prepareStatement(sql);
        ps.setInt(1,id);
        int a=ps.executeUpdate();
        if(a>0) {
            System.out.println("刪除成功");
        }else {
            System.out.println("刪除失敗");
        }
    } catch (Exception e) {
        e.printStackTrace();
    }finally {
        try {

            if(ps!=null) {
                ps.close();
            }
            if(conn!=null) {
                conn.close();
            }
        }catch(Exception ee) {
            ee.printStackTrace();
        }
        }

}

}
//——————控制檯實現信息的增刪改

    package USEMAIN;

import java.util.ArrayList;
import java.util.Scanner;

import USEBEAN.Student;
import USEDAO.StudentDao;

public class TestMain {
    public static void main(String[] args) {

    Scanner sc=new Scanner(System.in);
    StudentDao std=new StudentDao();
    while(true) {
        System.out.println("1、查看學生信息    2、添加學生信息    3、刪除學生信息    4、修改學生信息    5、退出" );
        int a=sc.nextInt();
        if(a==1) {
            ArrayList<Student> ar=std.getList();
            System.out.println("ID  NAME    AGE GRADE");
            for(Student st:ar) {
                System.out.println(st.getId()+"\t"+st.getName()+"\t"+st.getAge()+"\t"+st.getGrade());
            }
        }else if(a==2) {
            System.out.println("請輸入name age");
            Student st=new Student();
            st.setName(sc.next());
            st.setAge(sc.nextInt());
            std.insert(st);

        }else if(a==3) {
            System.out.println("請輸入ID");
            std.delete(sc.nextInt());
        }else if(a==4) {
            System.out.println("請輸入name age ID");
            Student st=new Student();
            st.setName(sc.next());
            st.setAge(sc.nextInt());
            st.setId(sc.nextInt());
            std.update(st);

        }else if(a==5) {
            return ;
        }


    }
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章