ad

打开《Java+EE应用开发实践教程》_读懂新的设计思路_2.1.1 实验五 实验步骤

admin 69 2023-10-25

【摘要】 本书摘自《Java+EE应用开发实践教程》一书中第2章,第1节,由涂祥著。

实验五 JDBC 与 Web 数据库编程-实验步骤

三、实验步骤

1.下载并安装Mysql。 在官网下载MySQL 的 Community 版本并安装。如图5-1所示。

需要说明的是,MySQL 有许多版本,其中MySQL Community(社区)版本是开源 的,也就是免费的版本,Oracle对这个版本的MySQL 不提供技术服务。本课程作为学 习Java Web数据库编程技术,使用该版本的MySQL。

打开《Java+EE应用开发实践教程》_读懂新的设计思路_2.1.1 实验五 实验步骤

2.通过Mysql 新建数据库 edu db,以及新建数据表 edu stu,其表结构见表5-1。

(1)进入命令提示符窗口,输入命令 mysql—u root-p回车,然后输入密码,回车, 进入mysql命令行模式。首先建立 edu db数据库,输入命令。

CREATE DATABASE edu db;

(2)输入如下所示命令,然后回车。建立表edu stu的表结构,并设置 stuNum 字段 为主键。

mysql>use edu db;

mysql>CREATE TABLE edu stu(

一 >stuNum VARCHAR(9) NOT NULL,

一 >stuName VARCHAR(20)NOT NULL,

一 >stuSex VARVHAR(1) NOT NULL,

一 >stuAge int(2)NOT NULL,

一 >stuMajor VARCHAR(20)NOT NULL,

一 >PRIMARY KEY(stuNum)

一 >)DEFAULT CHARSET=utf8;

(3)给edu stu表录入记录。输入类似如下所示命令,然后回车。依次将表5-2所 示的记录数据插入到 edu stu表中。

mysql> INSERT INTO edu stu(

一> stuNum,stuName,stuSex,stuAge,stuMajor)

一 > VALUES(“031640301”,"李强","男",19,"信息安全");

3.新建一个Web 工程,使用JSP+JDBC 的方式实现数据库访问。

(1)在Eclipse中,新建一个Web 工程 p05 1,给该工程添加 My SQL驱动包,在网

上搜索并下载 My SQL 的驱动包,并复制到本工程的 WEB-INF 文件夹下的 lib 目

录中。

(2)在工程p05 1中新增资源文件 edu db.properties,其代码如下所示。 driver=com.mysql.jdbc. Driver

url=jdbc:mysql://localhost:3306/edu db

username=root

password=123456

说明:本书中的数据库环境设置如上,读者实验时请根据自身具体实验环境设置 参数。

(3)在工程p05 1中新建一个JDBC 数据库连接类文件JDBCUtils.java,如图5 - 2 所示。

其部分代码如下所示。

//JDBCUtils. java

package cn.hbmy. p05 1;

* *

public class JDBCUtils {

private static String driver = null;

private static String url = null;

private static String username = null;

private static String password = null;

static {

try {// 读取 db.properties 文件中的数据库连接信息

InputStream in = JDBCUtils. class. getClassLoader(). getResourceAsStream ("edu db.properties");

Properties prop = new Properties();

prop. load(in);

driver = prop.getProperty("driver");// 获取数据库连接驱动

url= prop.getProperty("url");// 获取数据库连接URL 地址

username = prop. getProperty("username");// 获取数据库连接用户名 password = prop.getProperty("password");// 获取数据库连接密码

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

}catch(Exception e){

throw new ExceptionInInitializerError(e);

public static Connection getConnection()throws SQLException { return DriverManager.getConnection(url,username,password);

public static void release(Connection conn, Statement st, ResultSet rs){ if (rs!= null){

try {//关闭存储查询结果的 ResultSet 对象

rs.close();

}catch(Exception e){

e.printStackTrace();

rs = null;

if(st!= null){

try {//关闭负责执行 SQL 命令的 Statement对象

st.close();

}catch(Exception e){

e.printStackTrace();

if (conn!= null){

try {//关闭 Connection数据库连接对象

conn. close();

}catch(Exception e){

e.printStackTrace();

(3)在工程p05 1中新建cn.hbmy.p05 1 包,在包中新建Student类,该类的部分代 码如下所示。

//Student.java

····

package cn.hbmy. p05 1;

public class Student {

private String stuNum;

private String stuName;

private String stuSex;

private int stuAge;

private String stuMajor;

//省略 setter和 getter方法

····

(4)在工程中p05 1新建Servlet,用于处理显示所有记录。类名为QueryServlet,包 名为cn.hbmy.p05 1,类的部分代码如下所示。

//QueryServlet.java

· ·-**

@WebServlet("/QueryServlet")

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

Connection con=null;

Statement stmt=null;

ResultSet rs=null;

List dataList=new ArrayList();

Student stu=null;

try{

con=JDBCUtils.getConnection();

stmt=con. createStatement();

rs=stmt,executeQuery("select * from edu stu");

while(rs.next()){

stu=new Student();

stu. setStuNum(rs.getString(1));

stu. setStuName(rs.getString(2));

stu. setStuSex(rs.getString(3));

stu. setStuAge(rs.getInt(4));

stu. setStuMajor(rs.getString(5));

dataList.add(stu);}

}catch(Exception e){

e.printStackTrace();;

}finally{

JDBCUtils. release(con, stmt,rs);

request.getSession().setAttribute("dataList",dataList);

response. sendRedirect("stu disAllRec.jsp");

(5)在工程p05 1中新建JSP 文件 stu disAllRec.jsp,其部分代码如下所示。

·····

${stu.stuNum}—${stu.stuName}--

${stu.stuSex}—${stu.stuAge}—${stu.stuMajor}

(6)选择 stu disAllRec.jsp文件,点击菜单栏 Run |Run As |Run On Server,弹出 对话框选择确定,可以在Eclipse的内置浏览器上看到运行效果。如图5-3所示。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《JAVA服务端研发知识图谱》_让你更懂Java后台研发_1.11.1 反射
下一篇:看《Excel人力资源管理实操全流程演练》如何教你做更好的表格_1.3 高效录入数据的技巧
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×