怎样用java代码把数据导入到java连接数据库的代码中

将Excel文件数据导入到数据库表中(Java版)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
将Excel文件数据导入到数据库表中(Java版)
&&将Excel文件数据导入到数据库表中(Java版)
你可能喜欢追求卓越,成功就会在不经意间追上你!
Java 利用poi把数据库中数据导入Excel
使用时先把poi包导入工程的path,注意只需要导入poi包即可,下载后有三个jar包
连接数据库:DBConnection.java
package org.xg.
import java.sql.C
import java.sql.DriverM
import java.sql.PreparedS
import java.sql.ResultS
import java.sql.SQLE
public class DBConnection {
private final String DBUrl ="jdbc:mysql://localhost:3306/notebook" ;
private final String DBDriver ="com.mysql.jdbc.Driver" ;
private final String username ="root" ;
private final String password ="riskfitfeng" ;
public DBConnection()
Class.forName(DBDriver) ;
con = DriverManager.getConnection(DBUrl,username,password) ;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
public Connection getDB()
public void closeDb(ResultSet rs,PreparedStatement ps)
if(rs!=null)
rs.close() ;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
if(ps!=null)
ps.close() ;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
导入excel类:MySql2Excel.java
package org.xg.
import java.io.FileOutputS
import java.io.OutputS
import java.sql.C
import java.sql.ResultS
import org.apache.poi.hssf.usermodel.HSSFC
import org.apache.poi.hssf.usermodel.HSSFRichTextS
import org.apache.poi.hssf.usermodel.HSSFR
import org.apache.poi.hssf.usermodel.HSSFS
import org.apache.poi.hssf.usermodel.HSSFW
public class MySql2Excel {
public MySql2Excel() throws Exception
Connection con =
DBConnection db = new DBConnection() ;
con = db.getDB() ;
String sql ="select * from students" ;
ResultSet rs = con.createStatement().executeQuery(sql) ;
// 获取总列数
int CountColumnNum = rs.getMetaData().getColumnCount() ;
int i =1 ;
// 创建Excel文档
HSSFWorkbook wb = new HSSFWorkbook() ;
// sheet 对应一个工作页
HSSFSheet sheet = wb.createSheet("student表中的数据") ;
HSSFRow firstrow = sheet.createRow(0); //下标为0的行开始
HSSFCell[] firstcell = new HSSFCell[CountColumnNum];
String[] names = new String[CountColumnNum];
names[0] ="ID";
names[1] ="学号";
names[2] ="姓名";
names[3] ="性别";
names[4] ="班级";
for(int j= 0 ;j&CountColumnN j++){
firstcell[j] = firstrow.createCell((short)j);
firstcell[j].setCellValue(new HSSFRichTextString(names[j]));
while(rs.next())
// 创建电子表格的一行
HSSFRow row = sheet.createRow(i) ; // 下标为1的行开始
for(int j=0;j&CountColumnNj++)
// 在一行内循环
HSSFCell cell = row.createCell((short) j) ;
// 设置表格的编码集,使支持中文
//// 先判断数据库中的数据类型
// 将结果集里的值放入电子表格中
cell.setCellValue(new HSSFRichTextString(rs.getString(j+1))) ;
// 创建文件输出流,准备输出电子表格
OutputStream out = new FileOutputStream("E:\\person.xls") ;
wb.write(out) ;
out.close() ;
System.out.println("数据库导出成功") ;
rs.close() ;
con.close() ;
public static void main(String[] args)
@SuppressWarnings("unused")
MySql2Excel excel = new MySql2Excel() ;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
例如你可以在前端jsp中这样调用:
&a href="ReportServlet" onclick="return confirm('确认数据导出到E:/下?');"&导出数据到Excel&/a&
后台servlet写上上面的代码,注意最后需要response.sendRedirect("") 返回前端
poi包下载:
阅读(...) 评论()java实现读取XML文件数据插入到数据库中 - CSDN博客
java实现读取XML文件数据插入到数据库中
package com.flxx.docU
import java.sql.Cimport java.sql.DriverMimport java.sql.ResultSimport java.sql.Simport java.util.L
import org.jdom.Dimport org.jdom.Eimport org.jdom.input.SAXBimport org.jdom.output.Fimport org.jdom.output.XMLO
/**&*@ 功能描述:读取一个XML文件并将其读取的相关数据插入到数据库中&br&&*@ author:Roger &br&&*@ 时间:2010 &br&&*@ &br&&*@ version: 2.12.0.14 &br&&*/@SuppressWarnings("unused")public class ReadXml { &&& public Connection conn =&&& public Statement st =
&&& @SuppressWarnings("unchecked")&public void readXml()&&& {&&&&&& //***************************建立数据库连接***************************&&&&&& try&&&&&& {&&&&&&& Class.forName("com.mysql.jdbc.Driver").newInstance(); &&&&&&& String url ="jdbc:mysql://127.0.0.1:3306/flxx?user=LSBHupdate&password=LSBHupdate";&&&&&&&&&&&& //flxx为要操作的数据库名 &&&&&&&&&& conn = DriverManager.getConnection(url); &&&&&&&&&& st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); &&&&&& }&&&&&& catch(Exception sqlexception)&&&&&& {&&&&&&& System.out.println("数据库连接发生异常!");&&&&&& }&&&&&&&&&&&& //**********************读xml文件startup****************************&&&&&& &&&&&& try&&&&&& { &&&&&&& SAXBuilder sb = new SAXBuilder();&&&&&&& Document doc = sb.build("BatchCode.xml");&&&&&&& Element root = doc.getRootElement();&&&&&&& String postID = "",docDownUrl="";&&&&&&& int pID = 0;&&&&&&& Element elms =&&&&&&& List list1 = root.getChildren("userpost");&&&&&&&&& int count = 0;&&& &&&&&&& for(int i=0; i& list1.size(); i++)&&&&&&& { &&&&&&&& elms = (Element)list1.get(i);&&&&&&&&&&&&&&&&&&&&&& //userpost节点子元素&&&&&&&& postID = elms.getChildText("postID");&&&&&&&& pID = Integer.parseInt(postID);&&&&&&&& docDownUrl = elms.getChildText("docDownUrl");&&&&&&&& &&&&&&&& System.out.println("postID的值:"+postID);&&&&&&&& System.out.println("pID的值:"+pID);&&&&&&&& System.out.println("docDownUrl的值:"+docDownUrl);&&&&&&&& count++;&&&&&&&& System.out.println("-------------------------------------------------------------count:"+count);&&&&&&&& //插入数据库的表test&&&&&&&& //String sql = "insert into test(postID,docDownUrl)values ("+pID+",'"+docDownUrl+"')";&&&&&&&&&&&&&&& //& st.executeUpdate(sql);&&&&&&&& &&&&&&&& //更新数据库的userpost表&&&&&&&& &&&&&&& String sql = "update userpost set docDownUrl='"+docDownUrl+"' where postID="+pID;&&&&&&& st.executeUpdate(sql);&&&&&&& }&&&&&&& &&&&&&& //st.close(); &&&&&& // conn.close(); &&&&&& }&&&&&& catch(Exception e)&&&&&& {&&&&&&& e.printStackTrace();&&&&&& }&&&&&& &&&&&&&& //**********************读xml文件end**************************&&& }
&&& public static void main(String[] args)&&& {&&&&&&&&&&&&& ReadXml rx = new ReadXml();&&&&&&&&&&&&&&& rx.readXml();&&&&&&&&&&&&&&& &&&&&&&& }
本文已收录于以下专栏:
相关文章推荐
我们知道向数据库中插入数将xml导入到数据库将xml导入到数据库据的方式有很多种,以前接触最多的都是通过sql语句简单的插入一条数据,今天要学习是将xml中的数据一次添加到数据库中:
    
最常用的解析方法
对于一个数据量大、复杂的xml文件,要进行解析并且存入数据库。首先要对xml文件的dom结构有所了解,并进行分析,然后获取自己想要的数据,之后进行数据的存储。
接下来说明一下具体的步骤和方法。
最近做了一个接口,发送请求的xml字符串得到另一个项目的返回的xml字符串,再进行解析,解析之后把数据存储到数据库中。自己记录下这个过程,以便以后用得到。
返回的xml字符串是这种形式的
6.3 把XML数据插入到SQL Server数据库的表中
14:55 孙更新 肖冰 彭玉忠 清华大学出版社 字号:T | T
《XML编程与...
JDomOutput.java代码如下
-------------------------------------------------------------------------------...
//解析本地文件XML内容(放在assets下)
   
       
       
工作中对xml的操作比较多,这里实现一种。使用dom4j解析xml、
创建xml-----&然后解析--------》然后将数据用Log打印出来。
package ...
原篇内容缺失,本篇对其进行整理,以备后用。
本篇使用dom解析。方法实现将查询结果集(ResultSet对象)和要生成的XML...
他的最新文章
讲师:何宇健
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)[转载]从CSV数据文件中用JDBC向数据库中导入数据的JAVA代码
一定要使用Statement pre.addBatch()和executeBatch()来提高执行效率。
(也可以将Insert语句写入外部文件)
&如果内存不足,-Xms200m -Xmx500m配置java运行时可用内存
package ufida.nc.fieldstar.
import java.io.BufferedR
import java.io.BufferedW
import java.io.F
import java.io.FileInputS
import java.io.FileW
import java.io.InputStreamR
import java.io.RandomAccessF
import java.sql.C
import java.sql.DriverM
import java.sql.ResultS
import java.sql.S
public class InsertDB extends Thread {
&private static final String user =
"monetdb";
&private static final String pwd =
"monetdb";
&private static final String url =
"jdbc:monetdb://localhost/demo";
&private static final String driver =
"nl.cwi.monetdb.jdbc.MonetDriver";
&private static String DELIMITERS = ",";
&public static String getDELIMITERS() {
&&return DELIMITERS;
&public static void setDELIMITERS(String
delimiters) {
&&DELIMITERS =
&public static Connection getCon() {
&&Connection con =
&&&Class.forName(driver).newInstance();
DriverManager.getConnection(url, user, pwd);
&&&if (con !=
&&&&System.out.println("你已连接到数据库:"
+ con.getCatalog());
&&} catch (Exception e)
&&&System.out.println("连接数据库失败!");
&&&e.printStackTrace();
&public boolean insertDB(String tablename, long
&&if (rc & 1)
&&Connection con =
&&Statement stm =
&&boolean flag =
&&String sql = "";
&&MetaDataInfoProvider mdip = new
MetaDataInfoProvider();
con.createStatement();
&&&pre=con.createStatement();
&&&int colCount
= mdip.getMetaDataName(tablename, con);
&&&int rowCount
&&&File raf =
new File("f:/dim_customer_new.csv");
&&&BufferedReader
&&&buf = new
BufferedReader(new InputStreamReader(new FileInputStream(
&&&&&raf)));
&&//&FileWriter
fw = new FileWriter("f:/dim_customer_new.sql", true);
//以文件方式输出
&&//&BufferedWriter
bw = new BufferedWriter(fw);
line_record = buf.readLine();
&&&long sqlstart
= System.currentTimeMillis(); //开始计时
(line_record != null) {
解析每一条记录
= "insert into " + tablename + " values('";
&&&&String[]
fields = line_record.split(DELIMITERS);
//对Insert语句的合法性进行判断
if(fields.length!=colCount){
System.out.println("要插入的数据列数和表的数据列不相匹配,停止执行"); }
(int i = 0; i & fields. i++) {
+= fields[i];
(i & fields.length - 1) {
在控制台输出SQL语句
&&&//&System.out.println(sql);
//执行SQL语句
// stm.executeUpdate(sql); //直接执行效率比较低
&&&&pre.addBatch(sql);
&&&&rowCount++;
&&&&line_record
= buf.readLine();
(rowCount &= rc)
&&&pre.executeBatch();
&&&pre.close();
&//&&bw.flush();
// 将数据更新至文件
&//&&bw.close();
&//&&fw.close();
&//&&bw.close();
&//&&fw.close();
&&&System.out.println("共写入行数:"
+ rowCount);
&&&long sqlend =
System.currentTimeMillis(); //停止计时
&&&System.out.println("执行时间为:"
+ (sqlend - sqlstart) + " ms");
&&} catch (Exception e)
&&&e.printStackTrace();
&&} finally {
&&&close(null,
stm, con);
&// 关闭相关连接
&public void close(ResultSet rs, Statement stm,
Connection con) {
&&if (rs != null)
&&&&rs.close();
&&&} catch
(Exception e) {
&&&&e.printStackTrace();
&&if (stm != null)
&&&&stm.close();
&&&} catch
(Exception e) {
&&&&e.printStackTrace();
&&if (con != null)
&&&&con.close();
&&&} catch
(Exception e) {
&&&&e.printStackTrace();
&&& public void
&this.insertDB("dim_customer_batch", 500000);
&public static void main(String[] args) {
&&InsertDB insertDB1 = new
InsertDB();
&&insertDB1.start();
&&InsertDB insertDB2 = new
InsertDB();
&&insertDB2.start();
package ufida.nc.fieldstar.
import java.sql.C
import java.sql.DatabaseMetaD
import java.sql.DriverM
import java.sql.ResultS
import java.sql.SQLE
public class MetaDataInfoProvider {
&public int getMetaDataName(String m_TableName,
Connection m_Connection) {
&&int colCount = 0;
(m_Connection == null) {
&&&&Class.forName("nl.cwi.monetdb.jdbc.MonetDriver").newInstance();
&&&&m_Connection
= DriverManager
&&&&&&.getConnection("jdbc:monetdb://localhost/demo?user=monetdb&password=monetdb");
&&&DatabaseMetaData
m_DBMetaData = m_Connection.getMetaData();
&&&ResultSet
tableRet = m_DBMetaData.getTables(null, "%", m_TableName,
String[] { "TABLE" });
(tableRet.next())
&&&&System.out.println("Table
tableRet.getString("TABLE_NAME"));
&&&ResultSet
colRet = m_DBMetaData.getColumns(null, "%", m_TableName,
&&&&&"%");
(colRet.next()) {
&&&&columnName
= colRet.getString("COLUMN_NAME");
&&&&columnType
= colRet.getString("TYPE_NAME");
datasize = colRet.getInt("COLUMN_SIZE");
digits = colRet.getInt("DECIMAL_DIGITS");
nullable = colRet.getInt("NULLABLE");
&&&&String
(nullable == 1) {
&&&&&nullFlag
&&&&&nullFlag
= "Not Null";
&&&&System.out.println(columnName
+ " " + columnType + "("
datasize + "," + digits + ") " + nullFlag);
&&&&colCount++;
&&} catch (SQLException e)
&&&e.printStackTrace();
&&} catch (InstantiationException
&&&e.printStackTrace();
&&} catch (IllegalAccessException
&&&e.printStackTrace();
&&} catch (ClassNotFoundException
&&&e.printStackTrace();
&&System.out.println("The number
of column is: " + colCount);
&&return colC
&public static void main(String args[]) {
&&MetaDataInfoProvider mdip = new
MetaDataInfoProvider();
&&mdip.getMetaDataName("dim_customer",
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 java代码创建数据库表 的文章

 

随机推荐