Java Web中如何访问数据库

   1、 数据库是非常重要的数据管理软件系统,在这里我们进行一次Access数据库的访问操作,在正式介绍之前,我们先了解一下数据库访问的过程,在数据库访问中,根据最普遍的想法,需知道的构件主要有三层:分别为客户实体(

即软件的图形界面)、访问的中介(即连接数据库与实体的部分)、数据库后台。在了解这些之后,我们现在也清楚了实施这个访问过程我们该做哪些工作,那就是画一下用户使用的界面,部署一个存储数据的仓库,再找一个联系两者的链条。下面我们就分别去做这些工作。

  2、数据库的建立,我们进行建立数据源,建立方式如下链接所示

                             数据库的建立过程(建立过程为第一部分,其余为访问过程)

3、对于数据库的访问,有很多方式,这里我们进行实现一个简单的示例访问,使用DAO和VO进行访问,下面是示例代码

首先,我们进行建立一个JavaBean类,命名为Student.java类,具体代码如下所示,其中注释如下:

package com.lut.beans;//包名,命名自己定义的包
public class Student {
    private String stuno;
    private String stuname;
  private String stusex;
    private String stuaddr;
    public String getStuno() {//以下四个函数在NetBeans中可以使用:重构->封装字段进行封装,在eclipse中可以使用Getter and Setter进行封装
        return stuno;
    }
    public void setStuno(String stuno) {
        this.stuno = stuno;
    }
    public String getStuname() {
        return stuname;
    }
    public void setStuname(String stuname) {
        this.stuname = stuname;
    }
    public void setStuname(String stuname) {
        this.stuname = stuname;
    } 
    public String getStusex() {
        return stusex;
    }
    public void setStusex(String stusex) {
        this.stusex = stusex;
    }
    public String getStuaddr() {
        return stuaddr;
    }
    public void setStuaddr(String stuaddr) {
        this.stuaddr = stuaddr;
    }
}
 然后进行编写DAO类,其代码如下所示: 

注:DAO是指一种JavaBean类,用于对数据库的访问操作

package dao;//建立一个dao类,可随意命名
import com.lut.beans.Student;//本行及以下是导入SQL以及所需的包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
public class StudentDao 
{
    public ArrayList queryAllStudents() throws Exception
    {//实现对数据库的访问
        Connection conn = null;
        ArrayList students = new ArrayList();//定义与初始化ArrayList数组,相当于定义数组,但是容量比数组大
        StringBuffer str= new StringBuffer();
        try {
            //获取连接
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//JDBC-ODBC数据源驱动
                String url="jdbc:odbc:DDSchool";
		conn = DriverManager.getConnection(url,"","");
                //运行SQL语句
                String sql = "select * from T_STUDENT";//SQL语句,选择数据表T_STUDENT中的所有数据
		Statement stat = conn.createStatement();
		ResultSet rs = stat.executeQuery(sql);//定义ResultSet类,用于接收获取的数据
		while (rs.next())
                {
                     //实例化VO
		  Student student=new Student();
                  student.setStuno(rs.getString("STUNO"));
                  student.setStuname(rs.getString("STUNAME"));
                    student.setStusex(rs.getString("STUSEX"));
                  student.setStuaddr(rs.getString("STUADDR"));
		  students.add(student);
		}
                rs.close();
		stat.close();
                }
              catch (Exception e1) 
            {
            e1.printStackTrace();
            }
        finally
        {
            try
            {//关闭连接
                if(conn!=null)
                {
                    conn.close();
                    conn=null;
                }
            }
            catch(Exception ex)
            {
            }
      return students;  
    }
  }
}
 在jsp中使用DAO与VO,进行对数据库的访问,然后将数据布局到jsp页面中,进行布局数据,具体代码如下所示: 
<%@page contentType="text/html" import="java.util.*,java.sql.*" pageEncoding="UTF-8" language="java"%>
<%@page import="com.lut.beans.Student" %>
<%@page import="dao.StudentDao" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
               <style type="text/css">
#body {
	background-color: #FFD2BD;     
      }   
  </style>
        <title>JSP Page</title>
    </head>
    <body id="body">
        <h1>学生信息如下所示:</h1><br>
        <%
        StudentDao studentDao=new StudentDao();
        ArrayList students=studentDao.queryAllStudents();
        %>    
        <table  border="1"    >
            <tr >
                <td >学号</td>
                <td>姓名</td>
                 <td>性别</td>
                <td>家庭住址</td>
            </tr>
            <%
            for(int i=0;i<students.size();i++)
            {
                Student student=(Student)students.get(i);
            
           %>
            <tr>
                <td><%=student.getStuno() %></td>
                <td><%=student.getStuname() %></td>  
                 <td><%=student.getStusex() %></td>
                <td><%=student.getStuaddr() %></td>  
            </tr>
            <%
            }
            %>
        </table>
    </body>
</html>
 

效果如下所示:


图1 数据库文件内容,即T_STUDENT表


图2 查询结果,即jsp查寻结果

以上就是利用DAO和VO对数据库的访问。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

suwu150

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值