正文

都市供求信息网(7)

JSP项目开发案例全程实录(第2版) 作者:明日科技


1.4.4 创建数据库及数据表

本节介绍如何在SQL Server 2005的企业管理器中创建数据库及数据表,在创建数据表时以创建tb_info数据表为例进行介绍。

1.创建数据库

(1)确认是否安装了SQL Server 2005数据库,若没有则需进行安装。

(2)安装后,选择“开始”/“程序”/Microsoft SQL Server 2005/SQL Server Management Studio命令,启动SQL Server企业管理器,并展开控制台根目录,如图1.25所示。

(3)右击“数据库”节点,选择“新建数据库”命令,将弹出“数据库属性”对话框,在“名称”文本框中输入数据库名称“db_CityInfo”,其他选项保留默认设置。

(4)单击“确定”按钮完成数据库db_CityInfo的创建。

2.创建数据表

数据库创建成功后,展开如图1.25所示的“数据库”选项,则创建的数据库会在这里显示,如 图1.26所示。下面以创建tb_info数据表为例介绍创建数据表的步骤。

(1)展开db_CityInfo数据库,右击“表”节点,在弹出的快捷菜单中选择“新建表”命令,将弹出用来创建表的对话框。

(2)根据表1.6所示的数据表tb_info的结构设计数据表,如图1.27所示。

其中id字段被设置为主键,其创建方法如下:在id行中单击鼠标右键,在弹出的快捷菜单中选择“设为主键”命令,即可完成主键的创建。若“设为主键”命令已被选中,则再次单击可取消主键的设置。

(3)表结构设置完成后,单击左上角的“保存”按钮,在弹出的对话框中输入数据表的名称“tb_info”,然后单击“确定”按钮保存数据表。

(4)数据表创建成功后,将在SQL Server企业管理器窗口的右侧区域中显示,如图1.28所示。

(5)按照以上步骤创建其他数据表。

1.5 公共类设计

在开发程序时,经常会遇到在不同的方法中进行相同处理的情况,例如数据库连接和字符串处理等,为了避免重复编码,可将这些处理封装到单独的类中,通常称这些类为公共类或工具类。在开发本网站时,用到数据库连接及操作类、业务处理类、分页类和字符串处理类4个公共类,下面分别介绍。

1.5.1 数据库连接及操作类

DB类主要是对数据库的操作,如连接、关闭数据库及执行SQL语句操作数据库。每一种操作均对应一个方法,如getCon()方法用来获取数据库连接,closed()方法用来关闭数据库连接,而对数据库的增、删、改、查等操作都在doPstm()方法中实现,该方法是通过PreparedStatement对象来执行SQL语句的。下面介绍DB类的创建过程。

(1)导入所需的类包。代码如下:

例程01 代码位置:光盘\TM\01\src\com\yxq\dao\DB.java

import java.sql.Connection; //表示连接到某个数据库的连接

import java.sql.DriverManager; //用来获取数据库连接

import java.sql.PreparedStatement; //用来执行SQL语句

import java.sql.ResultSet; //封装查询结果集

import java.sql.SQLException; //异常处理类

(2)声明类的属性并赋值。代码如下:

例程02 代码位置:光盘\TM\01\src\com\yxq\dao\DB.java

private Connection con; //声明一个Connection对象

private PreparedStatement pstm; //声明一个PreparedStatement对象

private String user="sa"; //登录数据库的默认用户名

private String password=""; //登录数据库的密码

private String className="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //数据库驱动类路径

private String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_CityInfo"; //数据库URL

(3)覆盖默认构造方法,在该方法中实现数据库驱动的加载。这样,当通过new操作符实例化一个DB类的同时,就会加载数据库驱动。代码如下:

例程03 代码位置:光盘\TM\01\src\com\yxq\dao\DB.java

public DB(){ //DB类的构造方法

try{ //必须使用try-catch语句捕获加载数据库驱动时可能发生的异常

Class.forName(className); //加载数据库驱动

}catch(ClassNotFoundException e){ //捕获ClassNotFoundException异常

System.out.println("加载数据库驱动失败!");

e.printStackTrace(); //输出异常信息

}

}

(4)创建获取数据库连接的方法getCon(),方法中使用DriverManager类的getConnection()静态方法获取一个Connection类实例。代码如下:

例程04 代码位置:光盘\TM\01\src\com\yxq\dao\DB.java

/*创建数据库连接*/

public Connection getCon(){

try {

con=DriverManager.getConnection(url,user,password); //建立连接,连接到由属性url指定的数据库URL,

//并指定登录数据库的用户名和密码

} catch (SQLException e) {

System.out.println("创建数据库连接失败!");

con=null;

e.printStackTrace();

}

return con;

}

(5)创建对数据库进行增、删、改、查等操作的doPstm()方法,方法中使用了PreparedStatement类对象来执行SQL语句。之所以可以将这些操作在一个方法中实现,是因为doPstm()方法中设置了两个参数——sql和params。sql为String型变量,存储了要执行的SQL语句;params为Object类型数组,存储了为sql表示的SQL语句中“?”占位符赋值的数据。为SQL语句中的“?”占位符赋值,可通过PreparedStatement类对象的setXXX()方法实现,然后调用execute()方法执行SQL语句。

例如,为select * from table where name=?语句中的“?”赋值,假若name字段类型为char或varchar,则应使用如下代码:

pstm.setString(1,"yxq")


上一章目录下一章

Copyright © 读书网 www.dushu.com 2005-2020, All Rights Reserved.
鄂ICP备15019699号 鄂公网安备 42010302001612号