抓取网页数据(【招聘】java与数据库相连接的两张表(一))
优采云 发布时间: 2021-11-08 10:18抓取网页数据(【招聘】java与数据库相连接的两张表(一))
所谓JDBC就是利用java连接数据库技术,从数据库中获取现有信息或将网页上的信息存储在数据库中。
下面简单介绍一下公司的一个小项目的一部分。由于代码较多,所以以图片的形式展示。源码请查看源码仓库,稍后上传。
图 1-信息图 图 2-用户图
上图所示的两个模块对应数据库中的两个表。第一个表用于显示部分帖子信息,第二个是用户信息表,我们用来显示部分用户信息。
这次使用的数据库是ORACLE,所以首先要在数据库中建表。
图 3-建表
在oracle中创建两张表,对应上图的两张图。第一个表java02_xp_table1是用户信息表。当您填写信息并点击提交按钮时,填写的信息将保存在数据库中,可以立即在PLSQL中查询。第二个表 java02_xp_table2 是一个信息表。数据库中已有该表的数据。您只需要查询数据库中的信息即可在页面上显示出来。显示的信息如图1所示。
图4-项目*敏*感*词*
上面的图 4 显示了 web 项目的*敏*感*词*。在eclipse下,我们首先创建两个实体类,即两个javaBeans,分别对应两张表的信息。用户信息之一
公共类用户{
私人字符串 xp_id;
私人字符串 xp_name;
私人字符串 xp_email;
私人字符串 xp_subject;
私人字符串 xp_message;
//使用eclipse自动生成get和set方法。我不会在这里重复。
}
同样的,对于第二张表也生成了get和set方法
公共类信息{
私人字符串表_id;
私人字符串表名;
私人字符串表_价格;
私有字符串 table_info1;
私有字符串 table_info2;
私有字符串 table_info3;
私有字符串 table_info4;
私有字符串 table_info5;
//使用eclipse自动生成get和set方法。我不会在这里重复
}
在成功建立javaBean的基础上,我们建立了三个dao类。
1.BaseDao---Unchangeable,封装了数据库的基本操作,是其他Dao类的父类。
2.UserDao---继承了BaseDao,提供了从数据库中的用户表操作的接口,由UserDaoImpl实现,UserDaoImpl---实现UseroDao接口。大致结构就是这样。
3. InformationDao 实现与 UserDao 相同的功能。其他 Dao 类也继承自 BaseDao。实现对不同表的操作。
图 5-BaseDao
如图5所示,建立了一个基础dao类,从这个基础dao继承了下面两个dao。注意上图中的driver_oracle。使用oracle驱动必须添加对应的jar包。这次用到的题是ojdbc6.jar。通过构建路径将其添加到项目文件中。url_oracle 是数据库的连接字符串。通过localhost,我们知道连接的数据库是本地数据库,1521是oracle数据库的*敏*感*词*端口,mysql一般是3306,下面的ORACLE是我的数据库名。class.forName() 方法加载数据库的驱动程序。DriverManager.getConnection(url_oracle,"user2","12345")是连接数据库,user2是当前数据库的用户名,12345是密码。
这就是使用JDBC连接数据库。
图 6-UserDao
上面的图 6 是 UserDao 类。该类继承了BaseDao类,主要定义了一个addUser()方法,目的是通过点击submit向java02_xp_table1表中添加数据。使用预编译的方法来操作数据库。如果不明白,请参考:。
executeUpdate 方法用于执行 INSERT、UPDATE 或 DELETE 语句和 SQL、DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的作用是修改表中零行或多行中的一个或多个列。executeUpdate 的返回值是一个整数,它只返回受影响的行数(即更新计数)。对于不操作行的语句,例如 CREATE TABLE 或 DROP TABLE,executeUpdate 的返回值始终为零。
图 7-InformationDao
InformationDao继承自BaseDao,主要对Information表进行数据操作,实现查询数据库JAVA02_XP_TABLE2表内容的功能。查询执行完毕后,对数据进行封装,封装成列表,通过get和set方法实现数据转换。
图 8-信息服务 图 9-用户服务
上图显示了两个服务,主要用于实现两种方法。InformationService是获取更新次数,UserService是实现addUser()方法。
最重要的是两个servlet,两者的方法相同,只是doPost()方法中实现的功能不同。
图 10-UserServlet
在 UserServlet 中,通过 request.getParameter() 方法从页面中获取相应的数据。数据格式使用JSON,需要添加对应的jar包才能使用JSON。获取到页面上对应的数据后,通过set方法传递给用户,实现addUser()方法。row的值是确认传输的数据量,通过这个值来确认传输是否成功是一个小亮点。
图 10-InformationServlet
IformationServlet 的主要功能是查询数据和查询数据库中已经存在的信息。
图11-jquery 图12-ajax
这两种方法都是在 Html 中使用的技术。这也是模板的固定形式。用于页面数据的传输。
这个项目的结构大概是这样的,别忘了在web.xml中配置。