經(jīng)過前幾篇的摸爬滾打,下面我們就開始我們真正的數(shù)據(jù)庫操作了,本篇重點在于如何在網(wǎng)站端編寫數(shù)據(jù)庫操作語句,內(nèi)容不多,就是我們常見的增刪改查。
0、數(shù)據(jù)庫對象創(chuàng)建:
在javaSE基礎(chǔ)知識總結(jié)時,就為大家點明了,JAVA是一種面向?qū)ο缶幊陶Z言,所以我們再進(jìn)行數(shù)據(jù)庫創(chuàng)建之前,要先創(chuàng)建一個對象類。
/* * 實例化數(shù)據(jù)庫中的對象 */public class Student {    PRivate int id;//學(xué)生ID    private String name;//學(xué)生姓名    private int sex;//學(xué)生性別    private int year;//學(xué)生年齡    private String from;//學(xué)生故鄉(xiāng)    private String school;//學(xué)生所在學(xué)校        //為屬性添加set()、get()方法    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 getSex() {        return sex;    }    public void setSex(int sex) {        this.sex = sex;    }    public int getYear() {        return year;    }    public void setYear(int year) {        this.year = year;    }    public String getFrom() {        return from;    }    public void setFrom(String from) {        this.from = from;    }    public String getSchool() {        return school;    }    public void setSchool(String school) {        this.school = school;    }}1、接口創(chuàng)建:
這里采用了面向接口編程,方便我們管理我們的數(shù)據(jù)庫操作方法。
/* * 數(shù)據(jù)庫操作方法接口 */public interface StudentMa {        public boolean add(Student student);//添加    public boolean del(int id);//刪除    public boolean update(Student student);//修改    public Student getById(int id);//精確查詢    public List<Student> getByName(String name);//模糊查詢    public List<Student> getAll();//遍歷    }2、增加操作:
如何通過JAVA語句為數(shù)據(jù)庫添加數(shù)據(jù)呢?下面就是具體的方法實現(xiàn)。
public boolean add(Student student) {        boolean flag = false;        Connection conn = null;        PreparedStatement pst = null;        conn = DBO.getConnection();        String sql = "insert into students (name,sex,year,from,school) values (?,?,?,?,?)";//'?'表示占位符        try {            pst = conn.prepareStatement(sql);            pst.setString(1, student.getName());            pst.setInt(2, student.getSex());            pst.setInt(3, student.getYear());            pst.setString(4, student.getFrom());            pst.setString(5, student.getSchool());            int n = pst.executeUpdate();            if(n>0){                flag = true;            }        } catch (SQLException e) {            e.printStackTrace();        }        return flag;    }3、刪除操作:
如何通過JAVA語句刪除數(shù)據(jù)庫中的數(shù)據(jù)呢?下面就是具體的方法實現(xiàn)。
public boolean del(int id) {        boolean flag = false;        Connection conn = null;        PreparedStatement pst = null;        conn = DBO.getConnection();        String sql = "delete from students where id="+id;        try {            pst = conn.prepareStatement(sql);            int n = pst.executeUpdate();            if(n>0){                flag = true;            }        } catch (SQLException e) {            e.printStackTrace();        }        return flag;    }4、修改操作:
如何通過JAVA語句修改數(shù)據(jù)庫中的數(shù)據(jù)呢?下面就是具體的方法實現(xiàn)。
public boolean update(Student student) {        boolean flag = false;        Connection conn = null;        PreparedStatement pst = null;        conn = DBO.getConnection();        String sql = "update students set name=?,sex=?,year=?,from=?,school=? where id=?";//'?'表示占位符        try {            pst = conn.prepareStatement(sql);            pst.setString(1, student.getName());            pst.setInt(2, student.getSex());            pst.setInt(3, student.getYear());            pst.setString(4, student.getFrom());            pst.setString(5, student.getSchool());            pst.setInt(6, student.getId());            int n = pst.executeUpdate();            if(n>0){                flag = true;            }        } catch (SQLException e) {            e.printStackTrace();        }        return flag;    }5、查詢操作:
a、精確查詢:
如何通過JAVA語句精確查找數(shù)據(jù)庫中的數(shù)據(jù)呢?下面就是具體的方法實現(xiàn)。
public Student getById(int id) {        Student student = new Student();        Connection conn = null;        Statement st = null;        ResultSet rs = null;        conn = DBO.getConnection();        String sql = "select * from students where id="+id;        try {            st = conn.createStatement();            rs = st.executeQuery(sql);            while(rs.next()){                student.setId(id);                student.setName(rs.getString("name"));                student.setSex(rs.getInt("sex"));                student.setYear(rs.getInt("year"));                student.setFrom(rs.getString("from"));                student.setSchool(rs.getString("school"));            }        } catch (SQLException e) {            e.printStackTrace();        }        return student;    }b、模糊查詢:
如何通過JAVA語句模糊查找數(shù)據(jù)庫中的數(shù)據(jù)呢?下面就是具體的方法實現(xiàn)。
public List<Student> getByName(String name) {        List<Student> list = null;        Connection conn = null;        PreparedStatement pst = null;        ResultSet rs = null;        conn = DBO.getConnection();        String sql = "select * from students where name like ?";                try {            pst = conn.prepareStatement(sql);            pst.setString(1, "%"+name+"%");            rs = pst.executeQuery();            while(rs.next()){                Student student = new Student();                student.setId(rs.getInt("id"));                student.setName(rs.getString("name"));                student.setSex(rs.getInt("sex"));                student.setYear(rs.getInt("year"));                student.setFrom(rs.getString("from"));                student.setSchool(rs.getString("school"));                list.add(student);            }        } catch (SQLException e) {            e.printStackTrace();        }        return list;    }6、遍歷操作:
如何通過JAVA語句遍歷數(shù)據(jù)庫中的數(shù)據(jù)呢?下面就是具體的方法實現(xiàn)。
public List<Student> getAll() {        List<Student> list = new ArrayList<Student>();        Connection conn = null;        Statement st = null;        ResultSet rs = null;        conn = DBO.getConnection();        String sql = "select * from students";                try {            st = conn.createStatement();            rs = st.executeQuery(sql);            while(rs.next()){                Student student = new Student();                student.setId(rs.getInt("id"));                student.setName(rs.getString("name"));                student.setSex(rs.getInt("sex"));                student.setYear(rs.getInt("year"));                student.setFrom(rs.getString("from"));                student.setSchool(rs.getString("school"));                list.add(student);            }        } catch (SQLException e) {            e.printStackTrace();        }        return list;    }好了到這里,關(guān)于數(shù)據(jù)庫的增刪改查操作的JAVA實現(xiàn)已經(jīng)為大家總結(jié)完畢。下一篇select實現(xiàn)jsp頁面與數(shù)據(jù)庫交互。
| 
 
 | 
新聞熱點
疑難解答
圖片精選