简单mysql程序_【备忘】mysql简单操作程序
悲剧啊,发现原来写入数据库的数据有些问题,需要对这批数据进行处理
只有写几行代码连接到数据库批量修改了。
需要操作的字段数据:
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简单操作程序相关推荐
- jeecg uniapp 微信小程序 授权备忘
jeecg uniapp 微信小程序 授权备忘 修改前提: 2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息 推荐使用wx.getUserProfile获取用 ...
- 如何做一个mysql数据库_如何创建一个简单的mysql数据库
这篇文章主要介绍了操作MySQL日志的一些方法,对日志的删除操作做了重点讲解,需要的朋友可以参考下. 一.创建数据库 注:已经安装好mysql. windows下运行cmd进入命令窗口,本人用的是wi ...
- linux c mysql 封装_本人对MYSQL C API做的一个封装,希望对linux C++程序员有点帮助,同时欢迎拍砖!...
本人对MYSQL C API做的一个封装,使用很简单,构造一个对象,就可直接执行SQL,但对于需返回结果的查询语句,对其数据集没做封装,仍需直接调用mysql c api对其进行处理,本人将下次完成 ...
- 简单java程序_简单的Java程序
简单java程序 Simple java programs are good for assessing the coding skills of a programmer. You will fin ...
- 黑马程序员mysql答案_干货|MySQL常见问题及答案汇总
MySQL是一种开放源代码的关系型数据库管理系统.数据库按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据. 在学习MySQ ...
- 怎么重启网站mysql数据库_如何重启MySQL数据库服务
服务器的启动和停止 停止:net stop mysql 启动:net start mysql -------------------------mysql mode相关问题-------------- ...
- mysql 安全问题_浅谈MySQL数据库的Web安全问题
数据安全是现在互联网安全非常重要一个环节.而且一旦数据出现问题是不可逆的,甚至是灾难性的. 有一些防护措施应该在前面几个博文说过了,就不再赘述.比如通过防火墙控制,通过系统的用户控制,通过Web应用的 ...
- 计算机二级考试mysql内容_计算机二级MySQL考试考什么内容(二)
小编所收集到的相关计算机二级MySQL考试考什么内容的资料 大家要认真阅读哦! 三.MySQL 的数据库编程 1. 触发器 (1)触发器的基本概念与作用 (2)使用 SQL 语句创建.删除触发器的操作 ...
- 无法为您重置MySQL密码_无法重置MySQL的root密码
问题描述 我需要重置本地mysql安装的root密码,但不会让我.我已经试过了: $ sudo /etc/init.d/mysql stop * Stopping MySQL database ser ...
- mysql 客户端_技术分享 | MySQL 客户端连不上(1045 错误)原因全解析
作者:Carlos Tutte.Marcos Albe 翻译:管长龙 在我们学习 MySQL 或从事 MySQL DBA 工作期间,时常会遇到:"我尝试连接到 MySQL 并且收到1045 ...
最新文章
- pip 代理设置,坑爹的代理继续
- rest-framework:权限组件
- html5 获取多媒体,基于HTML5的多媒体支持
- boost::python::detail::copy_ctor_mutates_rhs相关的测试程序
- 如何将CSV数据存储到Hive
- java jdk API中英文下载
- 服务降级-降级的概念
- html在线音频播放器实训总结,HTML5音乐列表播放器SMusic开发总结
- 对于asp.net服务器推送和客户端拉拽技术知识讲述
- excel运行python_使用PyXLL在Excel中执行Python脚本
- mysql5.7 存储二进制_MySQL5.7 基于二进制包的安装
- 三、如何设置npm镜像
- 扩展ScriptBundle,支持混淆加密javascript
- 脏检查 和 缓存清理机制
- 热点素材在哪找?5年自媒体人,我推荐这3个平台
- ora 01033 oracle initialization,ora-01033:oracle initialization or shutdown in progress 解决方法
- 【三维CAD设计经验分享】CrownCAD设计:零件3D建模设计
- 基于simulink的Passive anti-islanding-UVP/OVP and UFP/OFP被动反孤岛模型仿真
- 【信号与系统学习笔记】—— 拉普拉斯变换的性质分析
- [NLP] 秒懂词向量Word2vec的本质+word2vec资源总结