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>



效果如下所示:

Java 读取数据库数据 javaweb读取数据库表内容_Java 读取数据库数据

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

Java 读取数据库数据 javaweb读取数据库表内容_JavaBean_02

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

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