零基础完成珍爱网项目 Java+MySQL+echarts (ZhenaiSpider+ZhenaiWeb)(三)

继续我们的项目, 上次之后我们基本上完成了数据的获取(即爬虫),接下来呢就是如何去保存这些数据,有两种方式,一种呢是以文本形式保存到本地,第二种是就是保存到数据库,而我们呢选择后者。

Mysql

1,第一当然还是先下载了,进入网站即可选择相应的版本https://dev.mysql.com/downloads/file/?id=476696

2.我们这里是5.7.22,打开网址,翻到最下面,点击如下,直接下载就好

3,解压,进行初始化数据库

在bin目录下,执行以下的命令来初始化数据库(cmd下):

D:\b\mysql-5.7.21-winx64\bin>mysqld --initialize,

获取初始化以后的用户名root,和密码:

然后你会发现解压的目录下,多了一个叫data的文件夹

打开之后,有一个后缀为err的文件,用notepade++ 打开  或者记事本也可以

在这个文件的最后,每个人的不一样 但localhost:   后面的就是你的密码

4,接下来呢,测试启动mysql  

在解压目录下的bin目录下 输入以下指令mysqld --console

如果显示如图信息,就证明你安装成功了。切记不要关闭这个窗口。

5,登陆

密码就是刚才那个文件夹里的那个,但你会发现在这个密码下什么都做不了

修改密码:输入以下指令即可修改密码,如下1234就是我所修改之后的密码,

mysql> set password=password('1234');

显示以下信息就代表修改成功了

Query OK, 0 rows affected, 1 warning (0.00 sec)

修改完成之后,我们再执行 show tables  jiu'就会发现可以执行了

显示的这些信息都是你所包含的表

6,方便起见,我们将mysql 安装成windows服务,在bin目录下,执行如下指令即可完成安装

接下来呢我们配置环境变量,这样我们就可以在cmd中启动mysql了

在path 下添加到mysql的bin,如下图

然后打开cmd 输入  net start mysql  即可启动mysql(要注意在执行之前我们要关掉之前测试启动mysql的那个窗口)

当然了 停止mysql 的命令是 net stop mysql

7,再登陆

-u用户名 -p

对于本机来说:

你可以设置远程登陆,即在别人的机器上也可以登录你的数据库,具体设置方法如下

1.先查看一下你的用户列表

你会发现   在root 那栏 只有localhost  即代表只有本机才可以登陆,接下来呢将localhosthuan换成% 这样就可以实现远程登陆了

 

到这里呢我们的mysql 基本上就设置好了

接下来呢我们去xia项目中添加mysql的依赖

<dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <version>5.1.46</version>

        </dependency>

关于mysql的语句,我们在这里简单地说几个

1.创建数据库,后面的 character set utf8  是设置 数据库的编码方式 为utf8 (一般都会是utf8 )

2,进入这个数据库

3,创建一个表

3,查看数据库下的表

这时会发现 我们刚才创建的表就出现了

4,向表中写数据

基本操作就这些 其他操作,如删除表,删除字段等等 可自行百度查阅

 

接下来呢,我们用java语句去操作数据库,即jdbc,关于jdbc 给大家一个lian链接 感觉写的挺不错,这里就不赘述了

https://www.cnblogs.com/wuyuegb2312/p/3872607.html

这里我们使用DButils操作数据库。使用 c3p0做连接池,之所以使用连接池是因为每次操作数据库,都重新创建一个连接。Connection 使用连接池:保证连接的重用,回收连接。

接下来呢,我么要做的就是要添加,c3p0的依赖,

https://mvnrepository.com/ 然后搜索c3p0 找到相应的依赖,然后拷贝到我们的pom.xml 文件夹下 即可自动下载依赖

 

        <dependency>

            <groupId>com.mchange</groupId>

            <artifactId>c3p0</artifactId>

            <version>0.9.5.2</version>

        </dependency>

然后添加c3p0的配置文件 c3p0p-config.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<c3p0-config>

    <!-- 默认的配置 -->

    <default-config>

<propertyname="jdbcUrl">jdbc:mysql:///hyxy?characterEncoding=UTF8&amp;useUnicode=true&amp;useSSL=false</property>

        <property name="driverClass">com.mysql.jdbc.Driver</property>

        <property name="user">root</property>

        <property name="password">1234</property>

        <!--连接数据库的超时时间 -->

        <property name="checkoutTimeout">3000</property>

        <!--里面默认的初始化连接个数  -->

        <property name="initialPoolSize">3</property>

        <!-- 最多有多少连接 -->

        <property name="maxPoolSize">10</property>

        <property name="minPoolSize">3</property>

        <!--一次批量处理,最多可以执行多少SQL语句,默认是50,50~200是一个合理的范围  -->

        <property name="maxStatements">200</property>

    </default-config>

</c3p0-config>

创建一个连接池,通过读取上面的配置文件

package cn.hyxy.zhenai.util;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DSUtils {
    //1:声明dataSour e
    private static DataSource DATASOURCE;
    //2:开发一个静态的代码块,只执行一次
    static {
        DATASOURCE = new ComboPooledDataSource();
    }
    //3:获取Da
    public static DataSource getDataSource() {
        return DATASOURCE;
    }
}

使用dbutils

导入dbutils的依赖

<dependency>

            <groupId>commons-dbutils</groupId>

            <artifactId>commons-dbutils</artifactId>

            <version>1.7</version>

        </dependency>
然后呢我们就要根据我们所获取数据的结构,制做mysql的表

我们来设计我们的表格

输入指令 ,来创建这个表格

CREATE TABLE dogs(

   id BIGINT,

   NAME VARCHAR(50),

   age INT,

   workaddr VARCHAR(20),

   height INT,

   salary VARCHAR(30),

   homeaddr VARCHAR(30),

   married VARCHAR(10),

   grade VARCHAR(10),

   worker VARCHAR(20),

   house VARCHAR(10),

   car VARCHAR(10),

   sex VARCHAR(10)

);

然后我们利用程序 将爬取的数据写入到数据库,为了更可观的查看我们爬取的数据,我们可以利用数据库管理和开发工具

例如navicat premium

将数据写入到数据库中,在spider 中写一个方法 ,传入我们所获取的信息,利用这个方法将我们传进的信息,写入到数据库中

     public void insert(String sql, String id, String name,String sex, String age, String workaddr, String height, String salary,
            String homeaddr, String married, String grade, String worker, String house, String car) throws Exception {
        QueryRunner run = new QueryRunner(DSUtils.getDataSource());
        run.update(sql, id, name,sex, age, workaddr, height, salary, homeaddr, married, grade, worker, house, car);
    }

这样呢我们就成功将我们获取的信息写入到我们的数据库了 然后将spider 跑起来 其获取信息

我们的爬虫到这儿 就完成了,下次我们就要利用这些数据做成报表,使信息更可观的表现如下图

诸如此类,大家可自行设计不同的报表类型,明天再和大家继续分享,文中若有不足,欢迎大家的指正。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值