最近写的一个数据库导入数据的程序,有兴趣的同学可以参考一下:
这个程序是针对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
分享到:
相关推荐
这是一个用java编译的将数据库的记录导出为csv文件的程序
自己用JAVA做的第一个swing程序,用来快速导入导出MySQL数据库,导入整个库6万条数据只需要5秒钟,处女作 见笑了。 使用方法:需要系统支持JAVA环境并安装了MySQL,直接运行MySQLdump.jar,填好相应设置项,点击...
java读取excl文件内容进行mysql自动创建表,实现了从手动创建表到自动一键式创建数据库表,大大节省了开发时间,便于程序猿进行项目开发
自己用JAVA做的第一个swing程序,用来快速导入导出MySQL数据库,导入整个库6万条数据只需要5秒钟,处女作 见笑了。 使用方法:需要系统支持JAVA环境并安装了MySQL,直接运行DBdump.jar,填好相应项,按步骤导入导出...
1.将项目导入自己的Eclipse当中,确保你自己电脑中安装的是jdk1.7或更高版本 2.将MySQL驱动类的jar文件引入项目(我已把该jar包放到项目的doc文件夹下:mysql-connector.jar) 3.确保你安装了MySQL数据库,版本最好...
MySQL数据库导入100万数据,三种不同方式的性能比较: (1)单笔导入 (2)批量导入 (3)通过load data命令导入; 单笔导入、批量导入通过Java代码连接数据库进行操作,并且统计导入的时间。 所有的操作均在相同的...
纯java程序 生成的可执行的jar包 可选择标准03格式的Excel 选择对应列导入到 MySQL数据库表中 即点即用 PS.(前提你本机有java环境) 属于项目的基础数据导入 这是一个利器 干过开发的自己明白
1.将项目导入自己的Eclipse当中,确保你自己电脑中安装的是jdk1.7或更高版本 2.将MySQL驱动类的jar文件引入项目(我已把该jar包放到项目的doc文件夹下:mysql-connector.jar) 3.确保你安装了MySQL数据库,版本最好...
import到eclipse中,在项目中有文件backup-20170406.sql导入到mysql中用来建立数据库,然后在/bin/com/hui/Dao/jdbc.properties中填写数据库的连接参数,然后运行即可,程序入口在com.hui.login/loginDialog.java中 ...
1.对文本文件形式的原始数据集进行预处理 2.把文本文件的数据集导入到...6.使用HBase Java API把数据从本地导入到HBase中 7.使用R对MySQL中的数据进行可视化分析 内含三份报告和数据集,报告中有源码,是用spark做的
Excel数据的批量导入与导出 二,小程序端技术选型 原生微信小程序 css3 JavaScript 三,Java后台技术点 管理后台 后台登录 饭店管理员 菜品类目 excel批量导入与导出 菜品管理 菜品批量导入与导出 订单管理 饭店...
基于MySQL+Java的仓库管理系统源码(JAVA数据库课程设计)+项目说明.zip 仓库管理系统 JAVA/数据库 课程设计 仓库管理系统 使用 MySQL和Idea 功能需求 1、问题描述 设计一个仓储管理系统,对仓库货品进行管理,出入库...
一,Java后台技术选型: ...网页后台,mysql数据库,Java和springboot,含管理后台,excel的导入和导出。 扫码点餐,我的订单,用户注册,排号等位,菜品列表,菜品搜索等功能。 四,包含部署视频和配套笔记
6、熟悉使用Eclipse或IntelliJ Idea编写Java程序操作HBase数据库 要求 1、对文本文件形式的原始数据集进行预处理 2、把文本文件的数据集导入到数据仓库Hive中 3、对数据仓库Hive中的数据进行查询分析 4、使用Sqoop...
11 MySQL 基准套件 12 MySQL 实用程序 12.1 各种 MySQL 程序概述 12.2 管理一个 MySQL 服务器 12.3 从 MySQL 数据库和表中倒出(dump)结构和数据 12.4 从文本文件导入数据 12.5 MySQL ...
基于Mysql+Java的进销存信息管理系统源码+sql数据库+项目说明.zip 1.使用方式 下载后,import到eclipse中,在项目中有文件backup-20170406.sql导入到mysql中用来建立数据库,然后在/bin/...
目前有许多DBMS产品,如DB2、Oracle、Microsoft SQL Server 、Sybase、Informix、MySQL等,Java程序需要访问这些数据库,并对数据进行处理。 Java高级程序设计实战教程第八章-Java数据库编程全文共12页,当前为第2页...
学生成绩管理系统(SSH+MySQL)是一个基于Java技术的Web应用程序,它实现了学生成绩的高效管理和便捷操作。该系统采用SSH(Struts2+Spring+Hibernate)框架进行开发,以确保系统的稳定性和可扩展性。数据库方面则...
此资源是对应我博客上发布的学生信息管理系统的MySQL数据库,下载我的程序后,导入eclipse,再把我这份资源导入MySQL数据库就可以直接运行,不需要任何改动;。