当前位置:首页 » 编程语言 » java实现导入

java实现导入

发布时间: 2022-07-04 05:39:10

❶ 怎样用java代码把数据导入到数据库

Java可以使用JDBC对数据库进行读写。JDBC访问一般分为如下流程:
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
这通过java.lang.Class类的静态方法forName(String className)实现。
例如:
try{
//加载Mysql的驱动类
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace() ;
}
成功加载后,会将Driver类的实例注册到DriverManager类中。
2、提供JDBC连接的URL
?连接URL定义了连接数据库时的协议、子协议、数据源标识。
?书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
3、创建数据库的连接
?要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。
?使用DriverManager的getConnectin(String url,String username,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("数据库连接失败!");
se.printStackTrace() ;
}
4、创建一个Statement
?要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。
具体实现的代码:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、处理结果
两种情况:
1、执行更新返回的是本次操作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
使用结果集(ResultSet)对象的访问方法获取数据:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1); // 此方法比较高效(列是从左到右编号的,并且从列1开始)
}
7、关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
if(rs != null){ // 关闭记录集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 关闭声明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 关闭连接对象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}

❷ JAVA的导入功能怎么实现(excl导入,插入数据库)

使用jxl或者poi解析excel,jxl用来解析.xls格式的excel,poi用来解析xlsx格式的excel,得到数据,读取一行,插入一条到数据库就行了

❸ java导入文件的方法

这要看数据量有多大了,顺便更正一下,不是每次都要连接数据库,而是每次都要发送查询语句。

如果数据量不是很大,可以先把ID都取出来,这样在内存中就有了一个ID HashSet,那么你就可以通过contains来知道ID是否存在

如果数据量很大,显然不能把ID都取出来,那就要一个一个来,有的数据库支持批量,请查阅数据库是否支持,然后通过JDBC进行批量插入

❹ Java web项目有几种导入方式

陕西优就业小编总结了一种Java web项目导入方式,希望能给你提供帮助。

1、将项目根目录导入

File->Import->General->Existing Projects into Workspace

2、对Web-INF->lib下的jar表进行 Build Path->Add to Build Path操作

成功后可以在Java Resources->Libraries中找到,也可以在Java
Resources->Libraries->Web App Libraries中找到

BuildPath->Java Build Path->Libraries下Add External JARs

3、添加servlet-api.jar包,其路径在下

4、导入java web项目出现JRE System Library(unbound)和Server
Library(unbound)解决方法,选中后Edit,将其改为合适的版本

5、修改连接数据库配置文件,其路径在/src/c3p0-config.xml

❺ 如何用java实现mysql数据库的导入导出

MySql导出数据库的命令如下:
Sql代码
mysqlmp -uusername -ppassword -hhost -Pport exportDatabaseName > exportPath
mysqlmp -uusername -ppassword -hhost -Pport exportDatabaseName > exportPath

利用Java调用命令窗口执行命令来进行MySql导入数据库一般分三步走:
第一步:登录Mysql数据库,在登录数据库的时候也可以指定登录到哪个数据库,如果指定了则可以跳过第二步;
第二步:切换数据库到需要导入的目标数据库
第三步:利用命令开始导入

在进行导出的时候,需要注意命令语句的运行环境,如果已经将mysql安装路径下的bin加入到
系统的path变量中,那么在导出的时候可以直接使用命令语句,否则,就需要在执行命令语句的
时候加上命令所在位置的路径,即mysql安装路径想的bin下的mysqlmp命令。

❻ 怎样利用java实现把数据自动导入excel

给你个例子,转自xiaosa1984。自己按照自己的要求修改即可。jxl.jar 这个得下载导入。

需要导入jxl.jar
搭建环境
将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。

创建文件
拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:
代码(CreateXLS.java):
//生成Excel的类
import java.io.*;
import jxl.*;
import jxl.write.*;
public class CreateXLS
{
public static void main(String args[])
{
try
{
//打开文件
WritableWorkbook book=
Workbook.createWorkbook(new File(“测试.xls”));
//生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet=book.createSheet(“第一页”,0);
//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
//以及单元格内容为test
Label label=new Label(0,0,”test”);
//将定义好的单元格添加到工作表中
sheet.addCell(label);
/*生成一个保存数字的单元格
必须使用Number的完整包路径,否则有语法歧义
单元格位置是第二列,第一行,值为789.123*/
jxl.write.Number number = new jxl.write.Number(1,0,789.123);
sheet.addCell(number);
//写入数据并关闭文件
book.write();
book.close();
}catch(Exception e)
{
System.out.println(e);
}
}
}
编译执行后,会在当前位置产生一个Excel文件。

更加详细内容请见http://..com/question/118637923.html

❼ 如何用Java编写外部系统接口实现文件导入

// 定义接口
import java.io.FileOutputStream;

public interface OperateFile {

// 导入文件
public boolean importFile(String path,String name);
// 导出文件
public FileOutputStream exportFile(String path);
}

//..........................................
// 实现子类

import java.io.FileOutputStream;

public class OperateFileImp implements OperateFile{

public boolean importFile(String path, String name) {
// File file = new File(path,name)....
// 在此实现方法,作业嘛…
return false;
}

public FileOutputStream exportFile(String path) {
//........
return null;
}

}
//...................................
//..给外部提供接口....

public class Factory {

private static OperateFile op = null;
public static final int OPERATE_FILE= 1001;
private Factory(){

}
// 实现给外部的接口调用
public OperateFile getInstance(int classType){
if(classType==1001){
op = new OperateFileImp();
return op;
}
else{
throw new RuntimeException("要产生的子类没有定义!");
}
}

}

❽ 怎么用java实现mysql数据库的导入导出

使用Java实现对MySql数据库的导入与导出
packagecom.project.ajaxs;
importjava.io.BufferedReader;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStream;
importjava.io.OutputStreamWriter;
importjava.util.Calendar;
importjava.util.Date;
publicclassBakMysql{
//main的方法,主要是我用于测试的,是想着取得CLASS的路径,然后备份的文件写在服务器的类路径下
publicstaticvoidmain(String[]args){
BakMysqlbk=newBakMysql();

bk.backup();
//bk.load();
}

//backup方法是备份数据库到服务器地址
publicvoidbackup(){
Calendarnow=Calendar.getInstance();
Stringname=now.getTime()+""+(now.getTime().getMonth()+1)+""+now.getTime().getDate();
Stringfilename=name.substring(24)+""+name.substring(11,13)+""+name.substring(14,16)+""+name.substring(17,19);
try{
StringfilePath="e:/project"+filename+".sql";
Runtimert=Runtime.getRuntime();
//调用mysql的cmd:
Processchild=rt.exec("C:/ProgramFiles/MySQL/MySQLServer5.0/bin/mysqlmp.exe-uroot-p8095longchunproject");//设置导出编码为utf8。这里必须是utf8
//注意这一句,是指运行mysqlmp命令,后面跟的是登录名和登录的密码,接着后面的是指备份的数据库的名字,到此结束,以此生成一个执行的进程,取得此进程的输出流到我们要备份的文件
//把进程执行中的控制台输出信息写入.sql文件,即生成了备份文件。注:如果不对控制台信息进行读出,则会导致进程堵塞无法运行
InputStreamin=child.getInputStream();//控制台的输出信息作为输入流

InputStreamReaderxx=newInputStreamReader(in,"utf-8");//设置输出流编码为utf8。这里必须是utf8,否则从流中读入的是乱码

StringinStr;
StringBuffersb=newStringBuffer("");
StringoutStr;
//组合控制台输出信息字符串
BufferedReaderbr=newBufferedReader(xx);
while((inStr=br.readLine())!=null){
sb.append(inStr+" ");

}
outStr=sb.toString();//备份出来的内容是一个字条串

//要用来做导入用的sql目标文件:
FileOutputStreamfout=newFileOutputStream(filePath);
OutputStreamWriterwriter=newOutputStreamWriter(fout,"utf8");
writer.write(outStr);//写文件
//注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
writer.flush();
//别忘记关闭输入输出流
in.close();
xx.close();
br.close();
writer.close();
fout.close();
}catch(Exceptione){
e.printStackTrace();
}
}
//数据库的导入
publicvoidload(){
try{
StringfPath="e:/aa.sql";
Runtimert=Runtime.getRuntime();
Processchild=rt.exec("C:/ProgramFiles/MySQL/MySQLServer5.0/bin/mysqladmin.exe-uroot-p8095longchuncreateproject");
Processchild1=rt.exec("C:/ProgramFiles/MySQL/MySQLServer5.0/bin/mysql.exe-uroot-p8095longchunproject");
OutputStreamout=child1.getOutputStream();//控制台的输入信息作为输出流
StringinStr;

StringBuffersb=newStringBuffer("");
StringoutStr;

BufferedReaderbr=newBufferedReader(newInputStreamReader(newFileInputStream(fPath),"utf-8"));
while((inStr=br.readLine())!=null){
sb.append(inStr+" ");

}
outStr=sb.toString();

OutputStreamWriterwriter=newOutputStreamWriter(out,"utf8");
writer.write(outStr);

//注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
writer.flush();
out.close();
br.close();
writer.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}

原文来自http://www.cnblogs.com/anxz/archive/2012/11/19/2777782.html

❾ 怎样实现java导入导出oracle数据库

oracle
数据库导入导出(用dmp的方法)
cmd
1
将数据库SampleDB完全导出,用户名system
密码manager
导出到E:\SampleDB.dmp中
exp
file=E:\sampleDB.dmp
full=y
2将备份数据库文件中的数据导入指定的数据库SampleDB
中,如果
SampleDB
已存在该表,则不再导入;
imp
file=D:\SampleDB.dmp
full=y
ignore=y
如果没有DBA权限,用以下命令授予DBA权限
sqlplus
/
as
sysdba;
conn
system/manager
sql>grant
dba
to
SampleDB

热点内容
副编译 发布:2025-02-04 02:05:25 浏览:613
解压按摩师 发布:2025-02-04 01:21:31 浏览:424
linuxssh限制 发布:2025-02-04 01:20:40 浏览:697
脚本式是什么 发布:2025-02-04 01:06:24 浏览:248
手机wps密码怎么取消密码 发布:2025-02-04 00:51:44 浏览:596
算法逻辑表 发布:2025-02-04 00:51:44 浏览:241
零售股票如何配置主线 发布:2025-02-04 00:51:07 浏览:948
预算法施行时间是 发布:2025-02-04 00:50:30 浏览:342
世界ol上传照片 发布:2025-02-04 00:34:13 浏览:63
有初始化的数组编译提示重复定义 发布:2025-02-04 00:33:21 浏览:584