• JSP网站开发基础总结《四》


      经过前几篇的摸爬滚打,下面我们就开始我们真正的数据库操作了,本篇重点在于如何在网站端编写数据库操作语句,内容不多,就是我们常见的增删改查。

     0、数据库对象创建:

      在JAVASE基础知识总结时,就为大家点明了,JAVA是一种面向对象编程语言,所以我们再进行数据库创建之前,要先创建一个对象类。

    /*
     * 实例化数据库中的对象
     */
    public class Student {
        private int id;//学生ID
        private String name;//学生姓名
        private int sex;//学生性别
        private int year;//学生年龄
        private String from;//学生故乡
        private String school;//学生所在学校
        
        //为属性添加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、接口创建:

      这里采用了面向接口编程,方便我们管理我们的数据库操作方法。

    /*
     * 数据库操作方法接口
     */
    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语句为数据库添加数据呢?下面就是具体的方法实现。

    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语句删除数据库中的数据呢?下面就是具体的方法实现。

    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语句修改数据库中的数据呢?下面就是具体的方法实现。

    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语句精确查找数据库中的数据呢?下面就是具体的方法实现。

    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语句模糊查找数据库中的数据呢?下面就是具体的方法实现。

    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语句遍历数据库中的数据呢?下面就是具体的方法实现。

    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;
        }

      好了到这里,关于数据库的增删改查操作的JAVA实现已经为大家总结完毕。下一篇select实现jsp页面与数据库交互。

  • 相关阅读:
    HanLP《自然语言处理入门》笔记--5.感知机模型与序列标注
    Netty系列-netty的Future 和 Promise
    Netty系列-netty的初体验
    CentOS7 源码编译安装Nginx
    linux 源码编译安装MySQL
    Linux CentOS7
    Linux CentOS7 搭建ntp时间同步服务器
    CentOS7-7搭建ftp服务器
    CentOS7-7 搭建dhcp服务器
    python批量扫描脚本
  • 原文地址:https://www.cnblogs.com/AndroidJotting/p/4343029.html
Copyright © 2020-2023  润新知