最近写的一个数据库导入数据的程序,有兴趣的同学可以参考一下:

这个程序是针对mysql数据库的,在本地或服务器上运行,主要的需求还是,针对项目的某些bug修复

后,客户的数据要搬到新表上来,避免新版本上线或发布后用户的数据丢失,里面有Json格式的字段,不太好处理。

视频具体效果预览:http://www.polyv.net/about/news/2013/0922/142.html

package com.ibatis.test;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.security.interfaces.RSAKey;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut; import ayou.util.DOC; import com.cc.ovp.domain.PlayProfile;
import com.cc.ovp.domain.PlayerSkin;
import com.cc.ovp.domain.PlayerSkin.Ext; public class PlayerskinToPlayerprofile { private static Connection connection;
private static Statement statement;
private static ResultSet resultSet;
private ResultSetMetaData rsMetaData; ////构造函数
public PlayerskinToPlayerprofile(){ String url = "jdbc:mysql://127.0.0.1:3306/xuan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull";
String username = "root";
String password = "123456";
//加载驱动程序以连接数据库
try {
Class.forName( "org.gjt.mm.mysql.Driver" );
connection = DriverManager.getConnection(url, username, password );
}
//捕获加载驱动程序异常
catch ( ClassNotFoundException cnfex ) {
System.err.println("装载 JDBC/ODBC 驱动程序失败");
cnfex.printStackTrace();
}
//捕获连接数据库异常
catch ( SQLException sqlex ) {
System.err.println( "无法连接数据库" );
sqlex.printStackTrace();
} } ///////////////////////////////
@SuppressWarnings("unchecked")
private static void getTable2() throws IOException
{
try {
//执行SQL语句
//String query = inputQuery.getText();
statement = connection.createStatement();
resultSet = statement.executeQuery("select * from player_skin;");
//在表格中显示查询结果 //DOC[] docs= resultSet;
/* List list=(List)resultSet;
PlayerSkin palyerSkin=new PlayerSkin();
System.out.println("记录数===="+list.size());
for(int i=0; i<list.size();i++){
System.out.println(i+"========"+palyerSkin.getPlayerid()+"====="+palyerSkin.getUserid());
}*/
PlayerSkin palyerSkin2=new PlayerSkin();
PlayerSkin.Ext ext=new Ext();
BufferedWriter bw=new BufferedWriter(new FileWriter("home/qixuan/playerSkinExtToplayProfile.txt"));
int j=0;
while(resultSet.next()){
j++; //System.out.println("======"+extTo);
try {
String extTo=resultSet.getString("ext");
ext=(PlayerSkin.Ext.fromJSON(extTo));
} catch (Exception e) { try {
bw.write("userid---"+resultSet.getString("userid"));
bw.newLine();
bw.flush(); } catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// TODO Auto-generated catch block
e.printStackTrace(); } System.out.println(j+"========"+resultSet.getString("playerid")
+"====="+resultSet.getString("userid")
+"===D==="+ext.getWatermark_show()
+"===E==="+ext.getWatermarklocation()
+"===r==="+ext.getWatermark_diaph()
+"===q==="+ext.getWatermarkurl1()
+"===y==="+ext.getWatermarkurl2()
+"===u==="+ext.getWatermarkurl3()
+"===j==="+ext.getAutoplay()
+"===w==="+ext.getDefinition());
//+"==EXT==="+resultSet.getString("ext")); //System.out.println(j+"=========="+ext.getDisable_host()+"=========="+ext.getEnable_host()); DOC doc3 = new DOC(); String userid3= resultSet.getString("userid"); List<PlayProfile> playProfiles=selectDate2(userid3); if(playProfiles.size()>0){
//System.out.println("===数据===="+playProfiles.get(0).getExt());
doc3 = com.cc.ovp.util.Ext.parseJson(playProfiles.get(0).getExt()); //doc3.put("definition", "1");
//doc3.put("width", "600");
//doc3.put("autoplay",ext.getAutoplay());
doc3.put("watermarklocation",ext.getWatermarklocation());
doc3.put("watermark_show",ext.getWatermark_show());
doc3.put("watermark_diaph",ext.getWatermark_diaph());
doc3.put("watermarkurl1",ext.getWatermarkurl1());
doc3.put("watermarkurl2",ext.getWatermarkurl2());
doc3.put("watermarkurl3",ext.getWatermarkurl3()); String ext3 = com.cc.ovp.util.Ext.setJson(doc3);
//System.out.println("ext3::::::::::::::"+ext3);
updateDate2(userid3,ext3);//更新数据 }else{ doc3.put("definition", "1");
doc3.put("width", "600");
doc3.put("height", "0");
doc3.put("autoplay","1");
doc3.put("watermarklocation",ext.getWatermarklocation());
doc3.put("watermark_show",ext.getWatermark_show());
doc3.put("watermark_diaph",ext.getWatermark_diaph());
doc3.put("watermarkurl1",ext.getWatermarkurl1());
doc3.put("watermarkurl2",ext.getWatermarkurl2());
doc3.put("watermarkurl3",ext.getWatermarkurl3()); String ext3 = com.cc.ovp.util.Ext.setJson(doc3);
//System.out.println("ext3::::::::::::::"+ext3);
insertDate2(resultSet.getString("userid"),ext3);//插入数据
} }
bw.close();
resultSet.close();
statement.close();
//connection.close(); }
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
} ////查询play_profile表的数据
@SuppressWarnings("unchecked")
public static List<PlayProfile> selectDate2(String userid3) throws SQLException{ //statement=connection.createStatement();
PreparedStatement ps=connection.prepareStatement("select * from play_profile where userid=?");
ps.setString(1,userid3);
ResultSet rs=ps.executeQuery();
List<PlayProfile> list=new ArrayList<PlayProfile>();
while(rs.next()){
PlayProfile playProfile = new PlayProfile();
playProfile.setUserid(rs.getString("userid"));
playProfile.setAutoid(rs.getInt("autoid"));
playProfile.setExt(rs.getString("ext"));
playProfile.setStatus(rs.getInt("status"));
list.add(playProfile);
}
ps.close(); return list;
} ////插入数据
public static void insertDate2(String userid,String ext3) throws SQLException{ PreparedStatement ps=connection.prepareStatement("insert into play_profile(userid,status,ext) values(?,?,?)");
ps.setString(1,userid);
ps.setInt(2, 60);
ps.setString(3, ext3);
ps.executeUpdate();
ps.close(); } ////更新数据
public static void updateDate2(String userid,String ext3) throws SQLException{
PreparedStatement ps=connection.prepareStatement("update play_profile set ext=? where userid=?");
ps.setString(1, ext3);
ps.setString(2, userid);
ps.executeUpdate();
ps.close();
} public static void main(String[] args) throws IOException{
PlayerskinToPlayerprofile ptp=new PlayerskinToPlayerprofile();
ptp.getTable2(); //System.out.println("程序入口");
} }///////////

运行效果

这里只给出控制台运行情况:

预览地址:http://www.polyv.net/about/news/2013/0922/142.html

项目mysql数据导入数据的Java程序的更多相关文章

  1. mysql加速导入数据的简单设置

    mysql加速导入数据的简单设置 # 修改前查询参数值 show variables like 'foreign_key_checks'; show variables like 'unique_ch ...

  2. 用python批量向数据库(MySQL)中导入数据

    用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...

  3. excel 数据导入数据表

    环境: Windows server 2012  rm sql server  2012 excel 数据导入数据表 INSERT INTO [dbo].[AdminUser] SELECT [Adm ...

  4. MYSQL数据库导入数据时出现乱码的解决办法

    我的一个网站在负载搞不定的情况下最终选择了数据库和程序分离的方式解决的高负载,但是再导入数据的时候出现了大量乱码,最终通过方法二解决掉导入数据的问题,后面再设计网站布局的时候数据库跟网站程序分离是个很 ...

  5. mysql本地导入数据

    1.获得一个超级权限的用户 grant all on *.* to root@'127.0.0.1' identified by 'root';# 因为我想在本地导入数据,而数据就在本地.# 有时候, ...

  6. 搜索引擎Solr系列(二): Solr6.2.1 从MySql中导入数据

     一:建立MySql测试表,如下图: 二:solr导入配置: 1.新建demo core文件夹,并修改managed-schema里面的配置文件建立索引字段: 2.把mysql-connector-j ...

  7. Mysql mysqlimport 导入数据

    在mysql 数据库中可以用 mysqlimport 工具来实现数据的导入!mysqlimport 导入数据简单,但是这个也要满足一定的条件 1.既然是把数据导入到数据库,你总有一个数据库用户账号吧 ...

  8. mysql导出导入数据

    使用sql语句导出数据: 导出时如果不写绝对路径,会提示The MySQL server is running with the --secure-file-priv option so it can ...

  9. MySQL Cluster导入数据表时报错:Got error 708 'No more attribute metadata records (increase MaxNoOfAttributes)' from NDBCLUSTER

    准备把以前的非集群版MySQL数据导入到MySQL Cluster中,出现 'No more attribute metadata records (increase MaxNoOfAttribute ...

随机推荐

  1. IOS中线程的通信

    一.简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务 ...

  2. UVA 11212 IDA*

    移动一块连续的区间使得数列递增.问最少次数. 直接IDA*暴搜,只是我没有想到A*函数,所以就随手写了个连续递增块数作为估价函数,WA了,然后除以2,还是WA,除以3,WA,除以4...过了= = # ...

  3. select菜单实现二级联动

    <tr> <th>执行人<b>*</b></th> <td> <select name="jdcld.ZXDW& ...

  4. JAVA IDE基本操作常识

    快捷键: Ctrl+/   选中区单行注释和 取消 选中区单行注释和 Alt + / 代码辅助 shift + Ctrl +/ 选中区多行注释 shift + Ctrl +\ 取消选中区多行注释 Ct ...

  5. 正则表达式中/i,/g,/m的作用

    一./i (ignorCase)忽略大小写,注意仅是忽略大小写,并不忽略全半角. 二./g (globle)全文查找出现的所有匹配字符 三./m 1.(mutiple)多行查找2.m 影响 ^.$.3 ...

  6. 自定义鼠标Cursor转变成图片

    今天无意做到项目遇到一个好玩的事情,就是当我鼠标移到一个链接上面,并不是像正常那样出现一个小手,而是变成一个小十字架, 下面看图当时第一眼看到总感觉哪里不对,噢噢噢噢 这样的 小手没了,居然是一个图片 ...

  7. C# Wpf集合双向绑定

    说明: msdn中   ObservableCollection<T> 类    表示一个动态数据集合,在添加项.移除项或刷新整个列表时,此集合将提供通知. 在许多情况下,所使用的数据是对 ...

  8. configSections(配置文件)

    转载:http://www.cnblogs.com/jhxk/articles/1609182.html 由于最近一个项目的数据库变动比较频繁, 为了减少数据层的负担, 打算采用.net的MVC框架, ...

  9. Ext4 简单的treepanel

    转载:http://blog.csdn.net/zyujie/article/details/8208499 最近在学习Ext4,记录一些有关Ext4实现控件的方法: Ext4的treePanel和之 ...

  10. MemCachedClient数据写入的三个方法

    set方法 1 将数据保存到cache服务器,如果保存成功则返回true 2 如果cache服务器存在同样的key,则替换之 3 set有5个重载方法,key和value是必须的参数,还有过期时间,h ...