1:先看一下效果

这个是原始内容数据:

这个是统计后的数据显示,初始都为0

这个是执行过程中的状态:

2、贴出代码

import java.util.regex.Pattern;
import java.sql.*;public class Statistics {public static void main(String[] args) {statistics();}public static Connection getConnection() throws SQLException,java.lang.ClassNotFoundException{String url = "jdbc:mysql://localhost:3306/xici?useUnicode=true&characterEncoding=utf-8";    //连接xici数据库Class.forName("com.mysql.jdbc.Driver");        //加载mysql支持包String userName = "root";            //root用户String password = "123";         //密码Connection con = DriverManager.getConnection(url, userName, password);return con;}public static void statistics(){String str[]=new String[]{“内容1”,"内容二","内容三"};   //关键词输入System.out.println("开始了");//个人习惯try{String s="select * from xici_content";          //选择数据库中一个表Connection con = getConnection();Statement sql=con.createStatement();Statement sql1=con.createStatement();ResultSet res=sql.executeQuery(s);  /*计算每个关键字在指定内容中出现的频率*/while(res.next()){                   //.next()见详解1String contentString=res.getString("Content");String id=res.getString("id");//System.out.println(contentString);     //供测试使用int count=0,start=0,number=0;         //初始化System.out.println(str.length);            //供测试for(count=0;count<str.length;count++){while ( contentString.indexOf(str[count],start)>=0 && start<contentString.length())//indexOf()见详解二{number++;start=contentString.indexOf(str[count],start)+str[count].length();}if(number>=0){System.out.println("用户:"+res.getString("Username")+"  "+str[count]+"出现次数:"+number);String si2="update xici_keyword set "+str[count]+"="+number+" where id="+id;System.out.println(si2);     //程序可视化      sql1.execute(si2);         //执行sql语句}number=0;start=0;}}   }catch(java.lang.ClassNotFoundException e){           //捕获到ClassNotFoundException异常 ,输出异常信息System.err.println("ClassNotFoundException:" + e.getMessage());}catch(SQLException ex){System.err.println("SQLException:" + ex.getMessage()); //异常处理}System.out.println("一切都结束了");          //个人习惯} }

3:代码讲解

详解1:sql.next()

依次使第123456789....行成为当前行.最常用语句。

详解2:indexOf()

public int indexOf(String str,int fromIndex)
官方解释:Returns the index within this string of the first occurrence of the specified substring, starting at the specified index. The integer returned is the smallest valuek for which:
返回关键词str出现的位置,为int型。fromIndex为起始位置。这里通过
start=contentString.indexOf(str[count],start)+str[count].length();
来增量改变start,从而统计这一条内容中所有的的关键词次数。
PS:注意编码格式,昨天汉字的编码格式不相符,耽误了不少时间找错。个人水平较低,也许会有错误,故作此记录。

JDBC连接Mysql并统计指定关键词在某一列中出现的次数相关推荐

  1. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  2. centos jdbc配置mysql_CentOS安装glassfish4.0配置jdbc连接mysql

    版本glassfish-4.0.zip 1.解压,拷贝到指定安装路径 unzip glassfish-4.0.zip cp cp glassfish4 /usr/local/ -rf 2.设置glas ...

  3. 修改sqlarchemy源码使其支持jdbc连接mysql

    注意:本文不会将所有完整源码贴出,只是将具体的思路以及部分源码贴出,需要感兴趣的读者自己实验然后实现吆. 缘起 公司最近的项目需要将之前的部分业务的数据库连接方式改为jdbc,但由于之前的项目都使用s ...

  4. CentOS安装GlassFish4.0 配置JDBC连接MySQL

    转自:http://linux.it.net.cn/CentOS/course/2014/0724/3319.html 版本glassfish-4.0.zip 1.解压,拷贝到指定安装路径   unz ...

  5. JDBC连接MySQL数据库及示例

    JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  6. mysql 数据库dbhelp_使用JDBC连接MYSQL数据库的问题

    ------------这是源代码-------- package util; import java.sql.Connection; import java.sql.DriverManager; p ...

  7. 被缠上了,小王问我怎么在 Spring Boot 中使用 JDBC 连接 MySQL

    上次帮小王入了 Spring Boot 的门后,他觉得我这个人和蔼可亲.平易近人,于是隔天小王又微信我说:"二哥,快教教我,怎么在 Spring Boot 项目中使用 JDBC 连接 MyS ...

  8. jdbc连接mysql(基础)

    首先需要到mysql官网下载jdbc连接mysql的jar包. 链接:https://downloads.mysql.com/archives/c-j/ 选择 platform independent ...

  9. Java jdbc连接mysql 封装类

    Java jdbc连接mysql 封装类 开发工具与关键技术:java. myelipse2017.jdk1.8 作者:Amewin 撰写时间:2019年5月26日 JDBC简介: JDBC全称为ja ...

最新文章

  1. 设计模式复习-简单工厂模式
  2. vue-cli安装笔记
  3. 【渝粤题库】陕西师范大学202801 中国古代文学(五) 作业
  4. 名言为什么不能当论据_为什么您的工作场所论据没有您想要的那么有效
  5. Open Graph Protocol(开放内容协议)
  6. java中result方法_java.sql.resultSet接口中有很多方法的实现
  7. 河南自考本科英语可用计算机代替,河南自考选考2至3门专业课可代替英语课程...
  8. c语言 牛逼代码,装逼技巧:程序员如何用代码证明自己牛逼!
  9. Word给自动生成的目录页码添加括号
  10. 《人生七年》纪录片总结
  11. 干货|遗传+禁忌混合算法(HA)算法求解柔性作业车间调度问题(FJSP)附java代码-第一部分
  12. gtx1650显卡什么级别! GTX1650相当于什么显卡
  13. Pinocchio——将.arith文件转换为qap及做相应的prove/verify操作
  14. [014量化交易] python 通过tushare 获取股票数据、名称、股票代码、指定股票名
  15. linux命令察看图片
  16. 技术博客|第4期:个性化视频搜索引擎简介
  17. SQL SERVER 数学函数
  18. SpringCloud 微服务注册中心 Eureka - Server
  19. PopCap推出html5网页版宝石迷阵
  20. 上海耀华地磅串口开发(C#)

热门文章

  1. OpenPLC61850: An IEC 61850 MMS compatible open source PLC for smart grid research
  2. Centos8修改mysql密码
  3. 无法将win10配置在此计算机硬件上运行,WIN10系统备份 提示:无法将系统映像保存在计算机从中启动或安装WIDOWS的驱动器上...
  4. 浏览器开发者选项取消已在调试程序中暂停
  5. ChatGPT有效提问技巧
  6. Web 前端开发技术 ——html
  7. Deep Anomaly Detection with Deviation Networks论文阅读
  8. MapReduce之多MapReduce执行
  9. 推荐几个好玩的游戏:
  10. mysql豹_MySQL创建数据库与创建用户以及授权 小帅豹