您的位置:首页 > 编程语言 > Java开发

Java Web中如何访问数据库

2016-05-14 11:16 309 查看
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对数据库的访问。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: