zoukankan      html  css  js  c++  java
  • 数据库连接

    一.项目需求

    课程管理是各大院校的管理工作中尤为重视的一项工作,它一直以来是学校管
    理的一项重要的衡量指标。石家庄铁道大学为了提高工作效率,实现信息化管理,
    要求开发课程管理系统。——设计添加新课程界面。//在后台数据库中建立相应的表结构存储课程信息。//实现新课程添加的功能。 要求限定教师为系中的5位老师。//要求限制上课地点开头为“一教、二教、三教、基教”中的一种。//实现数据存储功能。

    二.设计思想

    需要建立一个课程的类,一个连接数据库的类,一个接口,一个异常框,一个前端界面和一个后端页面。

    所以首先创建课程类。包含三个参数:a.课程名称  b.教师名称  c.上课地点。(自动构建get和set函数)

    其次构建一个连接数据库的类,用来连接数据库

    创建一个接口,其中有一个静态方法,传入一个课程类的对象。能够实现将该对象传入数据库//创建一个异常框,用来在课程出错时,弹出异常信息。//创建一个前段界面,显示界面信息

    同时创建一个后端页面,接受来自前端的消息,并且对其进行判断。如果在限定条件内,则添加到数据库。否则,抛出异常,跳转页面

    三.源程序代码

    (1)java

    1.创建课程类

    package com.jaovo.msg.model;
    
    public class HaveClass 
    {
        private String  teachername;
        private String  place;
        private String  classname;
        
        public String getTeachername() {
            return teachername;
        }
        public void setTeachername(String teachername) {
            this.teachername = teachername;
        }
        public String getPlace() {
            return place;
        }
        public void setPlace(String place) {
            this.place = place;
        }
        public String getClassname() {
            return classname;
        }
        public void setClassname(String classname) {
            this.classname = classname;
        }
    
    }
    

      2.构建一个连接数据库的类,用来连接数据库

    package com.jaovo.msg.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.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
            } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            String user = "sa";
            String password = "jisuan@10Q";
            String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=OnClass";
            Connection connection = null;
            try {
                
                 connection = DriverManager.getConnection(url,user,password);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return connection;
        }
        
        
        public static void close(Connection connection ) {
            try {
                if (connection != null) {
                    connection.close();
                }
                
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        public static void close(PreparedStatement preparedStatement ) {
            try {
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        public static void close(ResultSet resultSet ) {
            try {
                if (resultSet != null) {
                    resultSet.close();
                }
                
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
    }
    

      3.创建一个类,用来实现添加到数据库中

    package com.jaovo.msg.dao;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import com.jaovo.msg.Util.DBUtil;
    import com.jaovo.msg.model.HaveClass;
    
    
    public class ClassDaoImpl {
        
        public void add(HaveClass claz) 
        {
            //获得链接对象
            Connection connection = DBUtil.getConnection();
            
            //准备sql语句
            String sql = "insert into t_class(teachername,classname,place) values(?,?,?)";
            PreparedStatement preparedStatement = null;
            try {
            //创建语句传输对象
            preparedStatement = connection.prepareStatement(sql);
            
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, claz.getTeachername());
            preparedStatement.setString(2, claz.getClassname());
            preparedStatement.setString(3, claz.getPlace());
            preparedStatement.executeUpdate();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                //关闭资源
                
                DBUtil.close(preparedStatement);
                DBUtil.close(connection);
            }
            
        }
    
    }
    

      4.使用jsp文件,创建前端界面

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <title>课程添加页面</title>
    </head>
    <body>
        <form action="add.jsp" method="get">
            <table align="center" border="1" width="500">
                <tr>
                    <td>课程名称 : </td>
                    <td>
                        <input type="text" name="classname" />
                    </td>
                </tr>
                    <tr>
                    <td>任课教师:</td>
                    <td>
                        <input type="text" name="teachername" />
                    </td>
                </tr>
                <tr>
                    <td>上课地点:</td>
                    <td>
                        <input type="text" name="place" />
                    </td>
                </tr>
                <tr align="center">
                    <td colspan="2">
                        <input type="submit" value="提交" />
                        <input type="reset" value="重置" />
                    </td>
                </tr>
            </table>
        </form>
    </body>
    </html>
    

      5.创建后端界面,完成对数值的校验

    <%@page import="com.jaovo.msg.Util.ClassException"%>
    <%@page import="com.jaovo.msg.dao.ClassDaoImpl"%>
    <%@page import="com.jaovo.msg.model.HaveClass"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <%
        //接收客户端传递过来的参数
        
        String teachername = request.getParameter("teachername");
        String classname = request.getParameter("classname");
        String place = request.getParameter("place");
        try{
        if(!teachername.trim().equals("王建民")&&!teachername.trim().equals("刘立嘉")&&!teachername.trim().equals("刘丹")&&!teachername.trim().equals("王辉")&&!teachername.trim().equals("杨子光"))
        {
            throw new ClassException("不能输入规定之外的老师名称");
        }
        else if(!place.trim().startsWith("基教")&&!place.trim().startsWith("一教")&&!place.trim().startsWith("二教")&&!place.trim().startsWith("三教"))
        {
            throw new ClassException("不能输入规定之外的地点名称!");
        }
        else
        {
            HaveClass haveclass = new HaveClass();
            haveclass.setTeachername(teachername);
            haveclass.setClassname(classname);
            haveclass.setPlace(place);
            ClassDaoImpl classDao = new ClassDaoImpl();
            classDao.add(haveclass);
        }
        
        }catch(ClassException e){
            
    %>
        <h2 style="color:red ; font-size:50px">发生错误 : <%=e.getMessage() %></h2>
    <%
        }
        
        
        
    %>
    
        
    
    
    </html>
    

      

    四.运行结果截图

    注:代码基本源自网页,以及各位学长的帮助,讲真的我自己做不出来,我现在的状态只能连接成功数据库,对于网页前端和后端,JSP的用处我会在下一个博客里写一下我的感觉。一定会细心的。

  • 相关阅读:
    解决"Windows没有足够信息,不能验证该证书"问题
    IPA 安装
    基于ECharts图表实现的股票K线图表(matols.com)
    WPF Chart
    IdentityServer4 中文文档
    企业信息系统
    手机网站的几点注意
    查询 SQL_Server 所有表的记录数: for xml path
    iframe在ipad safari的显示
    从WEB SERVICE 上返回大数据量的DATASET
  • 原文地址:https://www.cnblogs.com/kmxbf2292/p/10092925.html
Copyright © 2011-2022 走看看