实例开发和运行环境:
jdk 1.6
tomcat 6.0
MyEclipse 7.0
oracle 11g
实例运行需要做的工作及工作步骤如下:
15.3.4 数据库表的创建
数据库的逻辑结构设计完毕后,就可以开始创建数据库和数据表了。
1.创建数据库
首先,编写一个创建数据库的SQL文件,保存为createDB.sql,其内容如下:
Create database NEWS
maxinstances 4
maxloghistory 1
maxlogfiles 16
maxlogmembers 3
maxdatafiles 10
logfile group 1 'e:\oracle\oradata\news\redo01.log' size 10M,
group 2 'e:\oracle\oradata\news\redo02.log' size 10M
datafile 'e:\oracle\oradata\news\system01.dbf' size 50M
autoextend on next 10M extent management local
sysaux datafile 'e:\oracle\oradata\news\sysaux01.dbf' size 50M
autoextend on next 10M
default temporary tablespace temp
tempfile 'e:\oracle\oradata\news\temp.dbf' size 10M autoextend on next 10M
undo tablespace UNDOTBS1 datafile 'e:\oracle\oradata\news\undotbs1.dbf' size 20M
character set ZHS16GBK
national character set AL16UTF16
user sys identified by sys
user system identified by system
然后,调用该文件创建数据库NEWS。
sql>@C:\createDB.sql;
这样我们就成功创建了数据库NEWS。
2.创建数据表
首先,编写一个创建数据表的SQL文件,保存为createTable.sql,其内容如下:
//管理员表
CREATE TABLE tb_manager (
ID number(6) not null primary key,
Name varchar2 (50),
Password varchar2 (50),
RealName varchar2 (50),
IssueDate datetime,
mark varchar2 (50)
) ;
//新闻类型表
CREATE TABLE tb_newsType (
ID number(6) not null primary key,
TypeName varchar2 (50),
modifydate date
) ;
//新闻详细类型表
CREATE TABLE tb_Style (
ID number(6) NOT NULL Primary Key,
StyleName varchar2 (50) ,
STName varchar2 (50) ,
modifydate date NULL
)
;
//新闻表
CREATE TABLE tb_news (
ID number(6) not null primary key,
Title varchar2 (100),
Content varchar2 (600),
Type varchar2 (100),
Style varchar2 (50),
IssDate date not null
) ;
//投票表
CREATE TABLE tb_Vote (
ID number(6) not null primary key ,
Name varchar2 (50),
Address varchar2 (50),
Country varchar2 (50),
Job varchar2 (50),
Remark varchar2 (200),
Num number(6)
) ;
//超链接表
CREATE TABLE tb_Link (
ID Number(6) not null primary key,
Name varchar2 (50),
Address varchar2 (50),
IssueDate date not null
) ;
15.3.5 数据库的连接
数据库生成后就要与网页建立动态链接。系统为方便起见,将数据库接口语句写在了一个Java文件里面,凡是涉及数据操作的Java程序只要继承这个类就行了。
数据操作类型主要有查询和更新两大类。其中后者又可以细分为数据的增加、修改和删除3小类。
在程序里我们通过调用java自带的executeQuery和executeUpdate函数分别实现了数据的查询和更新任务。
数据库接口JDBConnection.Java源代码如下所示。
/********************JDBConnection.Java*********************/
package com.victor.tool;
//引入包
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
import com.victor.domain.NewsActionForm;
//JDBC类
public class JDBConnection {
//初始化数据库用户名和密码:
String UserId = "dbuser01";
String UserPassword = "123";
String url="jdbc:oracle:thin:@localhost:1521:news";
String dri="oracle.jdbc.driver.OracleDriver";
ResultSet rs = null;
Connection conect = null;
public JDBConnection() {
try {
Class.forName(dri);
//打印提示信息
//System.out.println("加载驱动成功!");
}
catch (java.lang.ClassNotFoundException e) {
System.err.println(e.getMessage());
}
}
//执行数据的查询操作
public ResultSet executeQuery(String sql) {
try {
conect = DriverManager.getConnection(url, UserId,UserPassword);
//打印提示信息
//System.out.println("连接数据库成功!");
Statement stmt = conect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch (SQLException ex) {
System.err.println(ex.getMessage());
}
return rs;
}
//执行数据更新(如修改数据,删除数据)操作
public int executeUpdate(String sql) {
int result = 0;
try {
conect = DriverManager.getConnection(url, UserId,UserPassword);
Statement stmt = conect.createStatement();
result = stmt.executeUpdate(sql);
}
catch (SQLException er) {
System.err.println(er.getMessage());
}
return result;
}
//关闭连接
public void close() {
try {
if (conect != null) {
conect.close();
}
}
catch (Exception e) {
System.out.println(e);
}
}
//测试数据库连接是否正确,如果正确就可以注释掉下面的代码
/*
public static void main(String args[])
{
JDBConnection jdb = new JDBConnection();
String sql = "select * from tb_manager";
ResultSet rs = jdb.executeQuery(sql);
try {
while (rs.next())
System.out.println(rs.getString(2));
}
catch (SQLException ex) {
System.out.println("异常");
}
}
*/
}
/*----------------------------------------------------------------------------------------------*/
15.5.1 登录模块设计
1.样式层的方法
由于管理员页面登录页面主要涉及的是管理员的信息,所以这里的出现的属性都是管理员表中的属性。对每个属性我们都提供了两个方法,分别对应于或取属性值和设置属性值,具体代码如下:
/******************ManagerActionForm.java****************/
//引入包
package com.victor.domain;
import org.apache.struts.action.*;
//定义类
public class ManagerActionForm extends ActionForm {
private Integer managerID; //流水号(编号)
private String managerIssueDate; //日期
private String managerMark; //标示
private String managerName; //账号
private String managerPassword; //密码
private String managerRealName; //真实姓名
private String managerType; //管理员类型
//构造方法
public ManagerActionForm() {
this.managerID = new Integer( -1);
this.managerIssueDate = "";
this.managerMark = "";
this.managerName = "";
this.managerPassword = "";
this.managerRealName = "";
this.managerType = "";
}
//获取managerID的值
public Integer getManagerID() {
return managerID;
}
//设置managerID的值
public void setManagerID(Integer managerID) {
this.managerID = managerID;
}
//获取managerIssueDate的值
public String getManagerIssueDate() {
return managerIssueDate;
}
//设置managerIssueDate的值
public void setManagerIssueDate(String managerIssueDate) {
this.managerIssueDate = managerIssueDate;
}
//获取managerMark的值
public String getManagerMark() {
return managerMark;
}
//设置managerMark的值
public void setManagerMark(String managerMark) {
this.managerMark = managerMark;
}
//获取managerName的值
public String getManagerName() {
return managerName;
}
//设置managerName的值
public void setManagerName(String managerName) {
this.managerName = managerName;
}
//获取managerPassword的值
public String getManagerPassword() {
return managerPassword;
}
//设置managerPassword的值
public void setManagerPassword(String managerPassword) {
this.managerPassword = managerPassword;
}
//获取managerRealName的值
public String getManagerRealName() {
return managerRealName;
}
//设置managerRealName的值
public void setManagerRealName(String managerRealName) {
this.managerRealName = managerRealName
chenyangnjit
- 粉丝: 13
- 资源: 45
最新资源
- 基于Springboot+Vue的疗养院管理系统的设计与实现-毕业源码案例设计(源码+项目说明+演示视频).zip
- 基于Springboot+Vue的旅游推荐系统设计与实现-毕业源码案例设计(高分毕业设计).zip
- 11种概率分布的拟合与ks检验,可用于概率分析,可靠度计算等领域 案例中提供11种概率分布,具体包括:gev、logistic、gaussian、tLocationScale、Rayleigh、Log
- 基于Springboot+Vue的贸易行业crm系统-毕业源码案例设计(95分以上).zip
- 基于Springboot+Vue的秒杀系统设计与实现-毕业源码案例设计(高分项目).zip
- 西门子1200和三菱FXU通讯程序
- 基于Springboot+Vue的名城小区物业管理系统-毕业源码案例设计(高分毕业设计).zip
- 欧美风格, 节日主题模板
- 基于Springboot+Vue的民族婚纱预定系统的设计与实现-毕业源码案例设计(高分毕业设计).zip
- 基于Springboot+Vue的农商订单跟踪售后交流对接系统-毕业源码案例设计(源码+数据库).zip
- 海面目标检测跟踪数据集.zip
- 基于Springboot+vue的人力资源管理系统-毕业源码案例设计(高分毕业设计).zip
- 基于Springboot+Vue的商业辅助决策系统的设计与实现-毕业源码案例设计(95分以上).zip
- 基于Springboot+Vue的企业资产管理系统-毕业源码案例设计(源码+论文).zip
- 准Z源光伏并网系统MATLAB仿真模型,采用了三次谐波注入法SPWM调制,具有更高的电压利用效率 并网部分采用了电压外环电流内环 电池部分采用了扰动观察法,PO Z源并网和逆变器研究方向的同学可
- 基于Springboot+Vue的实习管理系统-毕业源码案例设计(高分项目).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页