JDBC连接Mysql并统计指定关键词在某一列中出现的次数
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()
详解2:indexOf()
官方解释: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并统计指定关键词在某一列中出现的次数相关推荐
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- 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 ...
- 修改sqlarchemy源码使其支持jdbc连接mysql
注意:本文不会将所有完整源码贴出,只是将具体的思路以及部分源码贴出,需要感兴趣的读者自己实验然后实现吆. 缘起 公司最近的项目需要将之前的部分业务的数据库连接方式改为jdbc,但由于之前的项目都使用s ...
- CentOS安装GlassFish4.0 配置JDBC连接MySQL
转自:http://linux.it.net.cn/CentOS/course/2014/0724/3319.html 版本glassfish-4.0.zip 1.解压,拷贝到指定安装路径 unz ...
- JDBC连接MySQL数据库及示例
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- mysql 数据库dbhelp_使用JDBC连接MYSQL数据库的问题
------------这是源代码-------- package util; import java.sql.Connection; import java.sql.DriverManager; p ...
- 被缠上了,小王问我怎么在 Spring Boot 中使用 JDBC 连接 MySQL
上次帮小王入了 Spring Boot 的门后,他觉得我这个人和蔼可亲.平易近人,于是隔天小王又微信我说:"二哥,快教教我,怎么在 Spring Boot 项目中使用 JDBC 连接 MyS ...
- jdbc连接mysql(基础)
首先需要到mysql官网下载jdbc连接mysql的jar包. 链接:https://downloads.mysql.com/archives/c-j/ 选择 platform independent ...
- Java jdbc连接mysql 封装类
Java jdbc连接mysql 封装类 开发工具与关键技术:java. myelipse2017.jdk1.8 作者:Amewin 撰写时间:2019年5月26日 JDBC简介: JDBC全称为ja ...
最新文章
- 设计模式复习-简单工厂模式
- vue-cli安装笔记
- 【渝粤题库】陕西师范大学202801 中国古代文学(五) 作业
- 名言为什么不能当论据_为什么您的工作场所论据没有您想要的那么有效
- Open Graph Protocol(开放内容协议)
- java中result方法_java.sql.resultSet接口中有很多方法的实现
- 河南自考本科英语可用计算机代替,河南自考选考2至3门专业课可代替英语课程...
- c语言 牛逼代码,装逼技巧:程序员如何用代码证明自己牛逼!
- Word给自动生成的目录页码添加括号
- 《人生七年》纪录片总结
- 干货|遗传+禁忌混合算法(HA)算法求解柔性作业车间调度问题(FJSP)附java代码-第一部分
- gtx1650显卡什么级别! GTX1650相当于什么显卡
- Pinocchio——将.arith文件转换为qap及做相应的prove/verify操作
- [014量化交易] python 通过tushare 获取股票数据、名称、股票代码、指定股票名
- linux命令察看图片
- 技术博客|第4期:个性化视频搜索引擎简介
- SQL SERVER 数学函数
- SpringCloud 微服务注册中心 Eureka - Server
- PopCap推出html5网页版宝石迷阵
- 上海耀华地磅串口开发(C#)
热门文章
- OpenPLC61850: An IEC 61850 MMS compatible open source PLC for smart grid research
- Centos8修改mysql密码
- 无法将win10配置在此计算机硬件上运行,WIN10系统备份 提示:无法将系统映像保存在计算机从中启动或安装WIDOWS的驱动器上...
- 浏览器开发者选项取消已在调试程序中暂停
- ChatGPT有效提问技巧
- Web 前端开发技术 ——html
- Deep Anomaly Detection with Deviation Networks论文阅读
- MapReduce之多MapReduce执行
- 推荐几个好玩的游戏:
- mysql豹_MySQL创建数据库与创建用户以及授权 小帅豹