zoukankan      html  css  js  c++  java
  • 2020.10.28收获

    课程管理系统的增删改查

    1、连接数据库

    要连接数据库,首先得建立一个数据库表,建立表头信息。然后在eclipse里进行操作。

    util 层下建立 DBUtil.java 文件,将数据库连接。主要分为四步:

    • 加载驱动程序
    • 数据库连接字符串
    • 数据库登录名和密码
    • 关闭数据库
    package util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class DBUtil {
    
        public  static  Connection getConnection() {
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
            } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
                e.printStackTrace();
            }
            String user = "root";
            String password = "liutianwen0613";
            String url = "jdbc:mysql://localhost:3306/login? ?characterEncoding=utf-8&useSSL=true";
            Connection connection = null;
            try {
                 connection = DriverManager.getConnection(url,user,password);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return connection;
        }
    
        public static void close(Connection connection ) {
            try {
                if (connection != null) {
                    connection.close();
                }
    
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        public static void close(PreparedStatement preparedStatement ) {
            try {
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
    
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        public static void close(ResultSet resultSet ) {
            try {
                if (resultSet != null) {
                    resultSet.close();
                }
    
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    
    }

    2、在 bean 层下建 infor.java 文件,里面创建对象,属性为 private。然后分别建立 set get 函数,属性为 public(可通过右击--源码快速生成)

    package bean;
    
    public class infor{
        private String name;
        private String teacher;
        private String address;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getTeacher() {
            return teacher;
        }
        public void setTeacher(String teacher) {
            this.teacher = teacher;
        }
        public String getAddress() {
            return address;
        }
        public void setAddress(String address) {
            this.address = address;
        }
    
        public infor() {}
    
        public infor(String name,String teacher,String address) {
            this.name = name;
            this.teacher = teacher;
            this.address = address;
        }
    
    }

    注意:必须要有一个空的构造函数

    3、在dao层下建立studentdao.java文件,专门写对数据库的操作,在里面写增删改查的函数,根据功能来写不同的函数,每个函数都得调用数据库的连接语句:

    Connection connection = DBUtil.getConnection(); 

    用到对数据库操作的语句:

        String sql = "select count(*) from class1 where name = ?";//选择语句

        sql = "insert into class1(name,teacher,address) value (?,?,?)";//插入语句

    语句有很多种,基本用法也不尽相同。

    同时还得新定义这两个语句:

        PreparedStatement preparedStatement = null;

        ResultSet resultSet = null;

    然后就是写函数体。根据不同的要求写不同的函数。

    package dao;
    
    import javax.swing.*;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import util.DBUtil;
    import bean.infor;
    
    
    public class studentdao {
    
        public void add1(String name, String teacher,String address) {
    
            Connection connection = DBUtil.getConnection();
    
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                String sql = "insert into class1(name,teacher,addess) value (?,?,?)";
                preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setString(1, name);
                preparedStatement.setString(2, teacher);
                preparedStatement.setString(3, address);
                preparedStatement.executeUpdate();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                DBUtil.close(resultSet);
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
            }
    
        }
    
    
        public void update(String name, String newname,String newteacher,String newaddress) {
            Connection connection = DBUtil.getConnection();
    
            String sql = "select count(*) from class1 where name = ?";
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setString(1, name);
                resultSet = preparedStatement.executeQuery();
                while (resultSet.next()) {
                    if (resultSet.getInt(1) > 0)
                    {
                        System.out.println("开始修改");
                        sql = "update class1 set name=?,teacher=?,address=?  where name=?";
                        preparedStatement = connection.prepareStatement(sql);
                        preparedStatement.setString(1, newname);
                        preparedStatement.setString(2, newteacher);
                        preparedStatement.setString(3, newaddress);
                        preparedStatement.setString(4, name);
                    } preparedStatement.executeUpdate();
            }
                } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                DBUtil.close(resultSet);
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
            }
    
        }
    
        public void delete(String username) {
            Connection connection = DBUtil.getConnection();
            String sql = "delete from class1 where name = ?";
            PreparedStatement preparedStatement = null;
    
            try {
                preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setString(1, username);
                preparedStatement.executeUpdate();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
            }
    
        }
    
        public int add(String name,String teacher,String address) {
    
            Connection connection = DBUtil.getConnection();
    
            String sql = "select count(*) from class1 where name = ?";
    
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setString(1, name);
    
                resultSet = preparedStatement.executeQuery();
    
                System.out.println("hello");
                while(resultSet.next()) {
                    if (resultSet.getInt(1) > 0)
                    {
    
                        return 0;
                    }
    
                    else
                    {
                        sql = "insert into class1(name,teacher,address) value (?,?,?)";
                        preparedStatement = connection.prepareStatement(sql);
                        preparedStatement.setString(1, name);
                        preparedStatement.setString(2, teacher);
                        preparedStatement.setString(3, address);
                        preparedStatement.executeUpdate();
                        return 1;
                    }
                    }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                //e.printStackTrace();
                e.getMessage();
            }finally {
    
                DBUtil.close(resultSet);
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
            }
            return 0;
    
        }
    
        public int load(String name) {
            // TODO Auto-generated method stub
    
            Connection connection = DBUtil.getConnection();
            String sql = "select * from class1 where name = ?";
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setString(1, name);
                resultSet = preparedStatement.executeQuery();
                while (resultSet.next()) {
                    System.out.println("课程名称:" + resultSet.getString("name"));
                    System.out.println("任课教师:" + resultSet.getString("teacher"));
                    System.out.println("上课地点:" + resultSet.getString("address"));
                    return 1;
                }
    
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                DBUtil.close(resultSet);
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
            }
            return 0;
        }
        public String load_del(String name) {
            // TODO Auto-generated method stub
            Connection connection = DBUtil.getConnection();
            String sql = "select * from class1 where name = ?";
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
    
                preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setString(1, name);
                resultSet = preparedStatement.executeQuery();
                while (resultSet.next()) {
                    System.out.println("课程名称:" + resultSet.getString("name"));
                    System.out.println("任课教师:" + resultSet.getString("teacher"));
                    System.out.println("上课地点:" + resultSet.getString("address"));
                    return ("课程名称:" + resultSet.getString("name")+"      任课教师:" + resultSet.getString("teacher")+"        上课地点:" + resultSet.getString("address"));
                }
    
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                DBUtil.close(resultSet);
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
            }
            return "课程不存在!";
        }
    
        public String load_delete(String name) {
            // TODO Auto-generated method stub
            Connection connection = DBUtil.getConnection();
            //System.out.println(111);
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                String sql = "select * from class1 where name like '%"+name+"%'";
                preparedStatement = connection.prepareStatement(sql);
                resultSet = preparedStatement.executeQuery();
                while (resultSet.next()) {
                    System.out.println("课程名称:" + resultSet.getString("name"));
                    System.out.println("任课教师:" + resultSet.getString("teacher"));
                    System.out.println("上课地点:" + resultSet.getString("address"));
                    return ("课程名称:" + resultSet.getString("name")+"      任课教师:" + resultSet.getString("teacher")+"        上课地点:" + resultSet.getString("address"));
                }
    
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                DBUtil.close(resultSet);
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
            }
            return "课程不存在!";
        }
    
    
        public List<infor> loadlist(String name,String teacher,String address) {
            // TODO Auto-generated method stub
            String sql = "select * from class1 where ";
            if (name != "") {
                sql += "name like '%" + name + "%'";
            }
            if (teacher != "") {
                sql += "teacher like '%" + teacher + "%'";
            }
            if (address != "") {
                sql += "classroom like '%" + address + "%'";
            }
            List<infor> list = new ArrayList<>();
            Connection connection = DBUtil.getConnection();
            //System.out.println(111);
            infor bean = null;
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                //String sql = "select * from class1 where name like '%"+name+"%'";
                preparedStatement = connection.prepareStatement(sql);
                resultSet = preparedStatement.executeQuery();
                while (resultSet.next()) {
                    String name2 = resultSet.getString("name");
                    String teacher2 = resultSet.getString("teacher");
                    String address2 = resultSet.getString("address");
                    bean = new infor(name2,teacher2,address2);
                    list.add(bean);
                    System.out.println("课程名称:" + resultSet.getString("name"));
                    System.out.println("任课教师:" + resultSet.getString("teacher"));
                    System.out.println("上课地点:" + resultSet.getString("address"));
                    //return ("课程名称:" + resultSet.getString("name")+"      任课教师:" + resultSet.getString("teacher")+"        上课地点:" + resultSet.getString("address"));
                }
    
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                DBUtil.close(resultSet);
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
            }
            return list;
        }
    }
    

    4、搭建界面

    主要用的是jsp,先建立一个主页,展示操作,再分别建立增删改查的jsp:

    然后在jsp里面进行传值,调用Java文件的函数,进而操作数据库。

    这些jsp文件里并不是都是显示页面,有一些只是进行判断的页面,调用函数进行操作数据库。

    这是主页面,分成了上左右三块,左边菜单栏,上边是名称,右边是各种操作界面及结果显示。

    代码:

    复制代码
     1 <%@ page language="java" contentType="text/html; charset=utf-8"
     2     pageEncoding="utf-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     7 <title>主页</title>
     8 <link rel="stylesheet" href="css/page.css" />
     9 <script type="text/javascript" src="js/jquery.min.js"></script>
    10 <script type="text/javascript" src="js/index.js"></script>
    11 </head>
    12 
    13 <frameset rows="20%,*">
    14 <frame class="top" src="top.jsp">
    15 <frameset cols="20%,*">
    16 <frame src="main_left.jsp">
    17 <frame src="main_right.jsp" name="main_right">
    18 </frameset>
    19 </frameset>
    20 <body>
    21 
    22 </body>
    23 </html>
    复制代码

    其他分界面以添加为例

    复制代码
     1 <%@ page language="java" contentType="text/html; charset=utf-8"
     2     pageEncoding="utf-8"%>
     3     <%@ page import="com.jaovo.msg.dao.*" %>
     4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     5 <html>
     6 <head>
     7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     8 <title>Insert title here</title>
     9 </head>
    10 <body>
    11 <form method="post" action="inputstuinfo_result.jsp">
    12 
    13 <div align="center">
    14 <h5>课程名称:<input name="input_name" type="text" placeholder="请输课程名称"></h5>
    15 <h5>任课教师:<input name="input_teacher" type="text" placeholder="请输任课教师"></h5>
    16 <h5>上课地点:<input name="input_address" type="text" placeholder="请输上课地点"></h5>
    17 <input name="submit" type="submit" >
    18 </div>
    19 </form>
    20 </body>
    21 </html>
    复制代码

      

  • 相关阅读:
    设计模式-简单工厂模式、工厂模式、抽象工厂模式-(创建型模式)
    设计模式-类间关系
    设计模式-六大基本原则
    设计模式-总起
    [转载]常见的移动端H5页面开发遇到的坑和解决办法
    [转载]Angular4 组件通讯方法大全
    【angular5项目积累总结】文件下载
    【转载】Vue 2.x 实战之后台管理系统开发(二)
    [转载]Vue 2.x 实战之后台管理系统开发(一)
    WordPress翻译中 __()、_e()、_x、_ex 和 _n 的用法及区别
  • 原文地址:https://www.cnblogs.com/ltw222/p/13920525.html
Copyright © 2011-2022 走看看