悲剧啊,发现原来写入数据库的数据有些问题,需要对这批数据进行处理

只有写几行代码连接到数据库批量修改了。

需要操作的字段数据:

public class GarbageData {

private long id;

private String comment;

public void setID(long id){

this.id = id;

}

public long getID(){

return this.id;

}

public void setComment(String comment){

this.comment = comment;

}

public String getComment(){

return this.comment;

}

}

修改代码:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

import org.apache.log4j.Logger;

public class UpdateFeature {

private Connection m_connection;

private Statement m_statement;

private ResultSet m_resultSet;

private String m_strUrl;

private String m_strDBUser;

private String m_strDBPass;

private static final Logger logger = Logger.getLogger(UpdateFeature.class);

public UpdateFeature(String strUrl,String strDBUser,String strDBPass){

this.m_strUrl = strUrl;

this.m_strDBUser = strDBUser;

this.m_strDBPass = strDBPass;

this.connDB();

}

public int connDB(){

try{

Class.forName("org.gjt.mm.mysql.Driver");

this.m_connection = DriverManager.getConnection(this.m_strUrl,this.m_strDBUser,this.m_strDBPass);

this.m_statement = this.m_connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);

this.m_statement.setFetchSize(Integer.MIN_VALUE);

}catch(ClassNotFoundException e){

logger.error("Class not found exception.");

logger.error(e.getMessage(),e);

return -1;

}catch(SQLException ex){

logger.error("Connnect to " + this.m_strUrl + " failed!");

logger.error(ex.getMessage(),ex);

}

return 0;

}

public Statement getStatement(){

return this.m_statement;

}

public void updateFeature() throws SQLException{

String getSql = "SELECT * FROM `generalantispam`.`GarbageFeature` where insertTime > " + "\"2012-12-15 00:00:00\" and insertTime < " + "\"2012-12-18 00:00:00\"" + " order by garbageid desc";

logger.info(getSql);

ResultSet rs = this.m_statement.executeQuery(getSql);

List dataList = new ArrayList();

while (rs.next()){

GarbageData data = new GarbageData();

long garbageID = rs.getLong("garbageID");

String strComment = rs.getString("garbage");

String[] comments = strComment.split(";;;");

String strGarbage = comments[0];

data.setID(garbageID);

strGarbage = strGarbage.replaceAll("\"", "");

data.setComment(strGarbage);

dataList.add(data);

logger.info(strComment);

}

logger.info("List size: " + dataList.size());

this.m_connection.setAutoCommit(false);

for(int i = 0; i < dataList.size(); i++){

GarbageData data = dataList.get(i);

String strSql = "update `generalantispam`.`GarbageFeature` set garbage=\"" + data.getComment() + "\" where garbageID =" + data.getID() ;

logger.info(strSql);

this.m_statement.executeUpdate(strSql);

if (i % 50 == 0)

this.m_connection.commit();

}

this.m_connection.commit();

}

public void close(){

try {

if (this.m_resultSet != null)

m_resultSet.close();

if (this.m_statement != null)

m_statement.close();

if (this.m_connection != null)

m_connection.close();

} catch (Exception e) {

logger.equals(e.getMessage());

}

}

public static void main(String[] args) {

UpdateFeature upF = new UpdateFeature("jdbc:mysql://xxx.xxx.xxx.xxx:3306/generalantispam","garbage", "garbage");

try {

upF.updateFeature();

upF.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

简单mysql程序_【备忘】mysql简单操作程序相关推荐

  1. jeecg uniapp 微信小程序 授权备忘

    jeecg uniapp 微信小程序 授权备忘 修改前提: 2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息 推荐使用wx.getUserProfile获取用 ...

  2. 如何做一个mysql数据库_如何创建一个简单的mysql数据库

    这篇文章主要介绍了操作MySQL日志的一些方法,对日志的删除操作做了重点讲解,需要的朋友可以参考下. 一.创建数据库 注:已经安装好mysql. windows下运行cmd进入命令窗口,本人用的是wi ...

  3. linux c mysql 封装_本人对MYSQL C API做的一个封装,希望对linux C++程序员有点帮助,同时欢迎拍砖!...

    本人对MYSQL  C API做的一个封装,使用很简单,构造一个对象,就可直接执行SQL,但对于需返回结果的查询语句,对其数据集没做封装,仍需直接调用mysql c api对其进行处理,本人将下次完成 ...

  4. 简单java程序_简单的Java程序

    简单java程序 Simple java programs are good for assessing the coding skills of a programmer. You will fin ...

  5. 黑马程序员mysql答案_干货|MySQL常见问题及答案汇总

    MySQL是一种开放源代码的关系型数据库管理系统.数据库按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据. 在学习MySQ ...

  6. 怎么重启网站mysql数据库_如何重启MySQL数据库服务

    服务器的启动和停止 停止:net stop mysql 启动:net start mysql -------------------------mysql mode相关问题-------------- ...

  7. mysql 安全问题_浅谈MySQL数据库的Web安全问题

    数据安全是现在互联网安全非常重要一个环节.而且一旦数据出现问题是不可逆的,甚至是灾难性的. 有一些防护措施应该在前面几个博文说过了,就不再赘述.比如通过防火墙控制,通过系统的用户控制,通过Web应用的 ...

  8. 计算机二级考试mysql内容_计算机二级MySQL考试考什么内容(二)

    小编所收集到的相关计算机二级MySQL考试考什么内容的资料 大家要认真阅读哦! 三.MySQL 的数据库编程 1. 触发器 (1)触发器的基本概念与作用 (2)使用 SQL 语句创建.删除触发器的操作 ...

  9. 无法为您重置MySQL密码_无法重置MySQL的root密码

    问题描述 我需要重置本地mysql安装的root密码,但不会让我.我已经试过了: $ sudo /etc/init.d/mysql stop * Stopping MySQL database ser ...

  10. mysql 客户端_技术分享 | MySQL 客户端连不上(1045 错误)原因全解析

    作者:Carlos Tutte.Marcos Albe 翻译:管长龙 在我们学习 MySQL 或从事 MySQL DBA 工作期间,时常会遇到:"我尝试连接到 MySQL 并且收到1045 ...

最新文章

  1. pip 代理设置,坑爹的代理继续
  2. rest-framework:权限组件
  3. html5 获取多媒体,基于HTML5的多媒体支持
  4. boost::python::detail::copy_ctor_mutates_rhs相关的测试程序
  5. 如何将CSV数据存储到Hive
  6. java jdk API中英文下载
  7. 服务降级-降级的概念
  8. html在线音频播放器实训总结,HTML5音乐列表播放器SMusic开发总结
  9. 对于asp.net服务器推送和客户端拉拽技术知识讲述
  10. excel运行python_使用PyXLL在Excel中执行Python脚本
  11. mysql5.7 存储二进制_MySQL5.7 基于二进制包的安装
  12. 三、如何设置npm镜像
  13. 扩展ScriptBundle,支持混淆加密javascript
  14. 脏检查 和 缓存清理机制
  15. 热点素材在哪找?5年自媒体人,我推荐这3个平台
  16. ora 01033 oracle initialization,ora-01033:oracle initialization or shutdown in progress 解决方法
  17. 【三维CAD设计经验分享】CrownCAD设计:零件3D建模设计
  18. 基于simulink的Passive anti-islanding-UVP/OVP and UFP/OFP被动反孤岛模型仿真
  19. 【信号与系统学习笔记】—— 拉普拉斯变换的性质分析
  20. [NLP] 秒懂词向量Word2vec的本质+word2vec资源总结

热门文章

  1. ~~高精度除以低精度
  2. VS中Eric觉得好用的快捷键
  3. Python遍历文件夹获取文件名并写入excel
  4. Day1:360培训学习重点笔记(7.13)
  5. 请解释一下 str db 0dh,0ah,‘$‘ 这个汇编语句什么意思?
  6. 【干货】PEP8风格指南
  7. hihocoder编程练习赛91:相邻字符串
  8. hihocoder第212周-动态规划
  9. SpringMVC中的Controller默认单例
  10. C#套接字和windowsAPI套接字