目的:

将之前获取到的数据全部插入数据库。

步骤:

(1)建好数据库和表。
(2)将数据插入对应的表中。

具体实现:

(1) 建数据库和数据表
建表代码:

 CREATE TABLE tangshi(id INT PRIMARY KEY AUTO_INCREMENT,sha256 CHAR(150) NOT NULL UNIQUE,title VARCHAR(40) NOT NULL,dynasty VARCHAR(30) NOT NULL,author VARCHAR(20)NOT NULL,content TEXT NOT NULL,words TEXT NOT NULL)CHARSET utf8mb4;
tangshi 表的名称
id 主键,自增的唐诗序号
sha256 每首诗的唯一编码,避免数据库重复插入
title 题目,不得为空
dynasty 朝代,不得为空
author 作者,不得为空
content 正文,不得为空
words 分词,不得为空

(2)连接数据库
通过 MysqlConnectionPoolDataSource 获取 Connection,带有连接池,参照线程池。

MysqlConnectionPoolDataSource dataSource = new MysqlConnectionPoolDataSource ();
dataSource.setServerName ("127.0.0.1");//连接至本机
dataSource.setPort (3306);
dataSource.setUser ("root");
dataSource.setPassword ("******");//密码
dataSource.setDatabaseName ("tangpoetry");
dataSource.setUseSSL (false);
dataSource.setCharacterEncoding ("UTF-8");

(3)将数据插入数据库
将数据一一插入表中

try(Connection connection = (Connection) dataSource.getConnection()){String sql = "INSERT INTO tangshi"+ "(sha256,title,dynasty,author,content,words)"//表中的数据项+ "VALUES(?,?,?,?,?,?)";try(PreparedStatement statement = connection.prepareStatement (sql)){//插入数据,即之前获取到的数据statement.setString (1,sha256);statement.setString (2,title);statement.setString (3,dynasty);statement.setString (4,author);statement.setString (5,content);statement.setString (6,words);statement.executeUpdate ();}
}

(1)MysqlConnectionPoolDataSource

单介绍一下数据源与连接池

  • 数据源(DataSource)是提供某种所需要数据的器件或原始媒体。
    JDBC中提供了javax.sql.DataSource接口,负责建立与数据库的连接。
    DataSource对象可以由Web服务器提供,前提是需要在服务器配置DataSource(包括连接池)

  • 数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。
    而连接池的概念就像是一个水池,装载的东西就是一个一个的连接通道。
    以前我们每次使用数据库,都建立连接,会需要重新登录,然后从中取出数据,最后再将数据库关闭。
    但是如果有了连接池,每次访问数据库的连接通道被保存在连接池中。连接池起到了中介的作用,之后如果要进行相同的访问时,那么就可以很快的打开连接通道,从而提高加载速度。

MysqlConnectionPoolDataSource就是一个连接池,用于连接数据库。

(2)PreparedStatement

public interface PreparedStatement extends Statement

表示预编译的SQL语句的对象。
SQL语句已预编译并存储在PreparedStatement对象中。 然后可以使用该对象多次有效地执行此语句。

唐诗数据库 --- 将数据插入数据库相关推荐

  1. JAVA与下位机传感器进行DTU串口通信并将数据插入数据库

    最近在做一个物联网项目,需求是将传感器数据在无网络的环境下收集到服务器.思前想后,决定走DTU通信. 前提: 1.DTU相关配置请自行百度,本项目使用的是原子云4G DTU,需要准备4G物联网卡. 相 ...

  2. POI:从Excel文件中读取数据,向Excel文件中写入数据,将Excel表格中的数据插入数据库,将数据库中的数据添加到Excel表

    POI 简介: POI是Apache软件基金会用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能. ...

  3. 数据库原理—数据、数据库(一)

    数据库原理-数据.数据库(一) 数据库(Databases)

  4. 01219 oracle,ORA-01219: 数据库或可插入数据库未打开: 仅允许在固定表或视图中查询 oracle...

    一周没用过oracle,打开数据库的时候报错: 执行请求的操作时遇到错误: ORA-01219: 数据库或可插入数据库未打开: 仅允许在固定表或视图中查询 01219. 00000 - "d ...

  5. ajax传递json数组php,怎么通过ajax传送json数组到php,并通过php将数据插入数据库

    如题.本人刚开始学习php,基础并不好,百度了好久都无法实现,希望能给出例子.json数据是拼接得到的 t 1.php不会写 回复讨论(解决方案) 一般网站返回的格式是json POST提交的话 写成 ...

  6. 从word得到表格数据插入数据库(6位行业代码)

    复制表格到excel 点击表格左上角选中全部表格,然后crtl+c,再贴到excel中 可以发现,大类代码,单元格往下走,碰到下一个有值的之前,都是上一个的范围 填充空白单元格 1.选中前四列,然后c ...

  7. 分布式实时分析数据库citus数据插入性能优化

    前言 从可靠性和使用便利性来讲单机RDBMS完胜N多各类数据库,但当数据量到了一定量之后,又不得不寻求分布式,列存储等等解决方案.citus是基于PostgreSQL的分布式实时分析解决方案,由于其只 ...

  8. html数据插入到数据库,将数据插入到数据库中:text和html格式

    将数据(文本和HTML格式)插入到mysql字段LONGTXT中时出现问题. 这里是错误将数据插入到数据库中:text和html格式 public 'error' => string 'You ...

  9. 使用Python将数据插入数据库(一)

    假如我现在有一个Excel数据表格,需要将其数据插入MySQL数据库中.数据如下: 对应的Python实现代码如下: 1 #导入需要使用到的数据模块 2 import pandas as pd 3 i ...

最新文章

  1. 数据蒋堂 | Hadoop中理论与工程的错位
  2. 几个软件研发团队管理的小问题
  3. 参加51CTO培训,PMP考试通过啦
  4. 手机麦克风声音太大_全民K歌必备利器,得胜PH-125手机K歌麦克风让你轻松拥有好声音...
  5. python 32位和64位的区别在哪
  6. 【请收藏】自动化构建部署之Circle CI使用(GitHub/CircleCI/Vue)
  7. HDU4183 Pahom on Water(来回走最大流,一个点只经过一次)
  8. Swift和R3联手了,跨境支付市场竞争升级
  9. jni.h头文件详解一
  10. 记Python的一些用法
  11. canvas绘制圆形头像
  12. 算法归总—短除法求最大公约数
  13. MSE = Bias² + Variance?什么是“好的”统计估计器
  14. OneDrive 遇到的坑--0x8004deed,目前的免费网盘分析
  15. 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: Shared Memory Provider, error: 0-管道的另一端上无任何进程
  16. 被病毒感染后隐藏文件夹的隐藏属性变灰(不可修改)的解决办法!
  17. 全国大学生英语竞赛考题总结
  18. Maven国内源设置 -  OSChina国内源失效了,别更新了
  19. 计算机毕业设计JAVA水利施工安全检测系统设mybatis+源码+调试部署+系统+数据库+lw
  20. 哈哈哈 记录一下此刻的小激动

热门文章

  1. 子元素设置fixed层级zindex对比
  2. Css 学习笔记 第一章
  3. 【Python爬虫实例】Python解决521反爬方案
  4. 4.20每日一题之三连击(洛谷c++)|dfs搜索
  5. 转贴一个老程序员的心里话
  6. 什么是退化维度?(Degenerate Dimensions)
  7. 神经网络算法实例说明,简单神经网络算法原理
  8. JAVA计算机毕业设计网上投稿管理系统(附源码、数据库)
  9. 三星Galaxy S8 vs Galaxy S9:值得升级吗?
  10. 网络申请手机卡,哪些情况审核会不通过?