Java程序向数据库中插入数据,代码如下:
//首先创建数据库,(aess,oracle,mysql,sqlsever)其中之一,其中aess,sqlsever需要配置数据源(odbc);
//然后再eclipse中创建类(ConnDb,Test,TestBean)ConnDb功能为连接数据库,查询,插入,删除,修改数据的类,Test为含有main方法的测试类,TestBean为数据表中的字段属性及set,get方法
//以下是ConnDb代码:
packagedb;
importjavasqlConnection;
importjavasql;
import
javasqlResultSet;
importjavasql;
import
javasqlStatement;
importjavautilArrayList;
publicclassConnDb{
publicConnectionstartConn(Connectionconn){
try{
ClassforName("sunjdbcodbc");
conn=("jdbc:odbc:数据库","用户名","密码");
}catch(Exceptione){
Systemoutprintln("连接数据库时出现错误");
}
returnconn;
}
publicArrayList(Stringsql){
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
ArrayListlist=newArrayList();
try{
conn=startConn(conn);
stmt=conn();
rs=stmt(sql);//sql为sql语句例如"selectfrom
表名",从main方法中传进来,这里用的是ArrayList类将查询结果存储起来
while(rsnext()){
TestBeantb=newTestBean();
tbsetTid(rsgetString("tid"));
tbsetTname(rsgetString("tname"));
tbsetTinfo(rsgetString("tinfo"));
listadd(tb);
}
}
catch(e){
//TODOAuto-generatedcatchblock
e();
}finally{
closeConn(rs,stmt,conn);
}
returnlist;
}
publicvoid(Stringsql){
Connectionconn=null;
Statementstmt=null;
try{
conn=
startConn(conn);
stmt=conn();
stmt(sql);
}
catch(e){
Systemoutprintln("修改,插入或者删除数据库数据时发生错误!");
}finally{
closeConn(stmt,conn);
}
}
publicvoidcloseConn(ResultSetrs,Statementstmt,Connectionconn){
try{
if(rs!=
null){
rsclose();
}
if(stmt!=null){
stmtclose();
}
if(conn!=null){
connclose();
}
}
catch(e){
//TODOAuto-generatedcatch
block
Systemoutprintln("关闭数据库的时候发生错误!");
}
}
publicvoidcloseConn(Statementstmt,Connectionconn){
try{
if(stmt!=null){
stmtclose();
}
if(conn!=null){
connclose();
}
}
catch(e){
//TODOAuto-generatedcatchblock
Systemoutprintln("关闭数据库的时候发生错误!");
}
}
}
1打开SQL Server Management Studio,按图中的路径进入导入数据界面。
2导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。
3数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。
4选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。
5再次确认文件路径没有问题,点击下一步。
6默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码,注意:数据库,这里看看是不是导入的数据库。也可以在这里临时改变,选择其它数据库。
7选择导入数据EXCEL表内容范围,若有几个SHEET表,或一个SHEET表中有些数据不想导入,则可以编写查询指定的数据进行导入。点击下一步。
8选择需要导入的SHEET表,比如我在这里将SHEET表名改为price,则导入后生面的SQL数据库表为price$。点击进入下一步。
9点击进入下一步。
10在这里完整显示了导入的信息,执行内容,再次确认无误后,点击完成,开始执行。
11可以看到任务执行的过程和进度。
12执行成功:可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。这样就完成了,执行SQL查询语句:SELECT FROM price$就可以查看已导入的数据内容。
使用场景:
比如将
C:\Test\
目录下的所有
txt文件内容
导入到
Table_1
中
--定义临时表,用于存放获取的文件名称
CREATE
TABLE
#files
(name
varchar(200)
NULL,
sql
varchar(7000)
NULL)
--获取文件名称,存放在#files
INSERT
#files(name)
exec
masterxp_cmdshell
'dir
c:\test
/b'
--删除不要的文件名称
DELETE
#files
WHERE
coalesce(name,
'')
NOT
LIKE
'Code%'
--插入需要
导入文件内容的
命令SQL,需要修改
Table_1(改为导入的Table)和文件路径
UPDATE
#files
SET
sql
=
'BULK
INSERT
Table_1
FROM
'''
+
'C:\Test\'+name
+
'''
WITH
('
+
'DATAFILETYPE
=
''char'',
FIELDTERMINATOR
=
''\t'',
'
+
'ROWTERMINATOR
=
''\n'')'
--开始执行导入
DECLARE
@sql
varchar(8000)
DECLARE
cur
CURSOR
STATIC
LOCAL
FOR
SELECT
sql
FROM
#files
OPEN
cur
WHILE
1
=
1
BEGIN
FETCH
cur
INTO
@sql
IF
@@fetch_status
<>
0
BREAK
EXEC(@sql)
END
DEALLOCATE
cur
主要分为读取文件夹下所有文件和导入文件内容两部分
--读取文件夹下所有文件
declare
@files
table
(ID
int
IDENTITY,
FileName
varchar(100))
insert
into
@files
execute
xp_cmdshell
'dir
c:\test
/b'
select
'c:\'+
[FileName]
AS
FILEPATH
INTO
#temp
from
@files
SELECT
FROM
#temp
--导入文件内容
BULK
INSERT
dboTable_1
FROM
#temp
WITH
(
ROWTERMINATOR
='\n'
)
还需要开启
/
Step
1
开启
xp_cmdshell
Use
Master
GO
EXEC
masterdbosp_configure
'show
advanced
options',
1
RECONFIGURE
WITH
OVERRIDE
GO
EXEC
masterdbosp_configure
'xp_cmdshell',
1
RECONFIGURE
WITH
OVERRIDE
GO
/
参考:
>
以上就是关于java中怎么向数据库插入数据(java怎么导入数据库)全部的内容,包括:java中怎么向数据库插入数据(java怎么导入数据库)、excel导入sql,用sql语句、如何用sql语句将一个文件夹下的所有txt文件导入到数据库中急!在线等等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)