怎么把java的数据导入数据库

怎么把java的数据导入数据库,第1张

Java可以使用JDBC对数据库进行读写。JDBC访问一般分为如下流程:

1、加载JDBC驱动程序:

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),

这通过javalangClass类的静态方法forName(String className)实现。

例如:

try{

//加载MySql的驱动类

ClassforName("commysqljdbcDriver") ;

}catch(ClassNotFoundException e){

Systemoutprintln("找不到驱动程序类 ,加载驱动失败!");

eprintStackTrace() ;

}

成功加载后,会将Driver类的实例注册到DriverManager类中。

2、提供JDBC连接的URL

连接URL定义了连接数据库时的协议、子协议、数据源标识。

书写形式:协议:子协议:数据源标识

协议:在JDBC中总是以jdbc开始

子协议:是桥连接的驱动程序或是数据库管理系统名称。

数据源标识:标记找到数据库来源的地址与连接端口。

例如:(MySql的连接URL)

jdbc:mysql://localhost:3306/testuseUnicode=true&characterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为

gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。

3、创建数据库的连接

要连接数据库,需要向javasqlDriverManager请求并获得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 =

DriverManagergetConnection(url , username , password ) ;

}catch(SQLException se){

Systemoutprintln("数据库连接失败!");

seprintStackTrace() ;

}

4、创建一个Statement

要执行SQL语句,必须获得javasqlStatement实例,Statement实例分为以下3种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过PreparedStatement实例实现。

3、执行数据库存储过程。通常通过CallableStatement实例实现。

具体的实现方式:

Statement stmt = concreateStatement() ;

PreparedStatement pstmt = conprepareStatement(sql) ;

CallableStatement cstmt = conprepareCall("{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 = stmtexecuteQuery("SELECT FROM ") ;

int rows = stmtexecuteUpdate("INSERT INTO ") ;

boolean flag = stmtexecute(String sql) ;

6、处理结果

两种情况:

1、执行更新返回的是本次 *** 作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。

使用结果集(ResultSet)对象的访问方法获取数据:

while(rsnext()){

String name = rsgetString("name") ;

String pass = rsgetString(1); // 此方法比较高效(列是从左到右编号的,并且从列1开始)

}

7、关闭JDBC对象

*** 作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:

1、关闭记录集

2、关闭声明

3、关闭连接对象

if(rs != null){ // 关闭记录集

try{

rsclose() ;

}catch(SQLException e){

eprintStackTrace() ;

}

}

if(stmt != null){ // 关闭声明

try{

stmtclose() ;

}catch(SQLException e){

eprintStackTrace() ;

}

}

if(conn != null){ // 关闭连接对象

try{

connclose() ;

}catch(SQLException e){

eprintStackTrace() ;

}

}

关键是你的系统是如何定义垃圾数据的,常见的有如下:

1比如系统只要查询当年内的数据,那么去年及更早的数据就是垃圾数据。

2系统升级或改造后,某些功能被去除,部分相关的表可能永远也不会再用到,那么那些表的数据可以算垃圾数据。

3错误的数据,比如不小心插入的错误数据,或者BUG导致错误数据,这些数据通常都是垃圾数据。

4缓存表的数据,某些表只是作为增加性能额外添加的(例如先同步到缓存表再作二次处理的情况),这些缓存表通常都是一次性用途,用完之后,就变成垃圾数据。

5辅助表的数据,有时为了开发或测试方便添加的一些跟业务无关的表,这些表的数据可以算是垃圾数据。

PS:即使是垃圾数据,也不排除有利用的一天。

工具/材料

mysql,windows 7 ,备份的数据库

01

先启动mysql服务,在命令行下输入net start mysql,然后登录,输入

mysql -uroot -p,回车后输入密码

02

输入下图中的语句,创建数据库,查看数据库,然后输入exit退出,如下图所示

03

导入数据库到刚才创建的数据库,在命令行下输入mysql -uroot -p t < /tsql

t是刚才创建的数据库的名称,/tsql表示当前目录下的tsql数据库,就是要导入的数据库的路径

04

查看结果

1 myeclipse导入项目后,如何把数据库也导入

MySQL数据库的导入,有两种方法:

1) 先导出数据库SQL脚本,再导入;

2) 直接拷贝数据库目录和文件。

在不同 *** 作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。

所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。

2 方法一 SQL脚本形式

*** 作步骤如下:

21 导出SQL脚本

在原数据库服务器上,可以用MyAdmin工具,或者mysqldump命令行,导出SQL脚本。

211 用MyAdmin工具

导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项。

选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。

将导出的SQL文件保存下来。

212 用mysqldump命令行

命令格式

mysqldump -u用户名 -p 数据库名 >; 数据库名sql

范例:

mysqldump -uroot -p abc > abcsql

(导出数据库abc到abcsql文件)

提示输入密码时,输入该数据库用户名的密码。

22 创建空的数据库

通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。

23 将SQL脚本导入执行

同样是两种方法,一种用MyAdmin(mysql数据库管理)工具,或者mysql命令行。

231 用MyAdmin工具

从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。

在"SQL"菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。

注意:MyAdmin对上载的文件大小有限制,本身对上载文件大小也有限制,如果原始sql文件

比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。

gzip使用方法:

# gzip xxxxxsql

得到

xxxxxsqlgz文件。

提示输入密码时,输入该数据库用户名的密码。

3 直接拷贝

如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。

31 准备原始文件

用tar打包为一个文件

32 创建空数据库

33 解压

在临时目录中解压,如:

cd /tmp

tar zxf mydbtargz

34 拷贝

将解压后的数据库文件拷贝到相关目录

cd mydb/

cp /var/lib/mysql/mydb/

对于FreeBSD:

cp /var/db/mysql/mydb/

35 权限设置

将拷贝过去的文件的属主改为mysql:mysql,权限改为660

chown mysql:mysql /var/lib/mysql/mydb/

chmod 660 /var/lib/mysql/mydb/

2 如何:添加对数据库项目的引用

可以添加对数据库项目的多种类型引用以应对不同的情况。

例如,可以引用同一解决方案中的其他项目,也可以引用其他解决方案的输出。按照略有不同的过程即可添加其他类型的引用。

例如,若要使用跨数据库引用,不仅必须添加该引用,还必须为数据库和/或服务器定义变量和相关的值。有关引用的类型以及可能使用每种类型的时间的更多信息,请参见在数据库项目中使用引用。

引用在同一解决方案中数据库项目中定义的对象打开一个解决方案,该解决方案包含要向其中添加引用的数据库项目。在“项目”菜单上,单击“添加数据库引用”。

将出现“添加数据库引用”对话框。若要添加对数据库项目的引用,请执行以下步骤:单击“当前解决方案中的数据库项目”。

在列表中,单击要添加对其引用的数据库项目。若要为服务器定义 SETVAR 变量,请执行以下步骤:单击“定义服务器变量”。

在“名称”中,键入表示该服务器的变量名称。在“值”中,键入该变量所表示的服务器名称。

注意如果所引用对象所属的数据库位于要添加对其引用的数据库所在的相同服务器上,则不需要定义服务器变量。若要为要引用的数据库指定 SETVAR 变量,请按下列步骤 *** 作:选中“定义数据库变量”复选框。

如果选中“文本”复选框,则将其清除。在“名称”中,键入表示该数据库的变量的名称。

在“值”中,键入该变量所表示的数据库名称。重要事项如果数据库项目包含显式引用另一个数据库中对象的对象,则应更新这些引用以使用刚刚定义的变量。

如果从包含跨数据库引用的数据库导入了对象,则必须更新这些引用以解决这些显式跨数据库引用导致的警告。若要为要引用的数据库指定文本值,请按下列步骤 *** 作:选中“定义数据库变量”复选框。

选中“文本”复选框。在“值”中,键入要引用的数据库的名称。

注意如果数据库名称始终与目标开发环境中的名称相同,则可能要指定文本而非变量和值对。例如,可以对“master”数据库中定义的对象使用值为“master”的文本。

如果所引用的项目可能引用另一个项目,则可以选中“禁止显示所引用项目中未解析引用导致的错误”复选框。所引用项目中的错误不大可能导致当前项目中的错误。

因此,可能要决定忽略这些错误。如果不想更新对象和脚本,则清除“更新现有架构对象定义和脚本以使用数据库引用变量”复选框,然后单击“确定”。

此时引用即添加到数据库项目,而您不需要在此过程中执行任何其他步骤。如果要更新对象和脚本,则选中“更新现有架构对象定义和脚本以使用数据库引用变量”复选框,然后单击“确定”。

此时将出现“预览更改 - 重命名服务器或数据库”对话框。(可选)如果不想应用一个或多个更改,则清除这些更改旁的复选框。

(可选)单击任意更改,在“预览更改”窗格中显示其详细信息。单击“应用”,更新所指定的对象和脚本。

此时引用即添加到数据库项目,并修改您指定的这些对象和脚本以使用 SETVAR 变量(而非服务器和数据库的名称)。引用另一个数据库项目的编译输出(dbschema 文件)中定义的对象打开一个解决方案,该解决方案包含要向其中添加引用的数据库项目。

在“项目”菜单上,单击“添加数据库引用”。将出现“添加数据库引用”对话框。

若要添加元文件的引用,请执行以下步骤:单击“数据库项目元文件(dbmeta)或架构(dbschema)”。在该框中,键入架构文件的路径和文件名,或者单击“浏览”指定要添加其引用的架构文件。

若要为服务器定义 SETVAR 变量,请执行以下步骤:单击“定义服务器变量”。在“名称”中,键入表示该服务器的变量名称。

在“值”中,键入该变量所表示的服务器名称。注意如果所引用对象所属的数据库位于要添加对其引用的数据库所在的相同服务器上,则不需要定义服务器变量。

若要为要引用的数据库指定 SETVAR 变量,请按下列步骤 *** 作:选中“定义数据库变量”复选框。如果选中“文本”复选框,则将其清除。

在“名称”中,键入表示该数据库的变量的名称。在“值”中,键入该变量所表示的数据库名称。

重要事项如果数据库项目包含显式引用另一个数据库中对象的对象,则应更新这些引用以使用刚刚定义的变量。如果从包含跨数据库引用的数据库导入了对象,则必须更新这些引用以解决这些显式跨数据库引用导致的警告。

若要为要引用的数据库指定文本值,请按下列步骤 *** 作:选中“定义数据库变量”复选框。选中“文本”复选框。

在“值”中,键入要引用的数据库的名称。注意如果数据库名称始终与目标开发环境中的名称相同,则可能要指定文本而非变量和值对。

例如,可以对“master”数据库中定义的对象使用值为“master”的文本。如果所引用的项目可能引用另一个项目,则可以选中“禁止显示所引用项目中未解析引用导致的错误”复选框。

所引用项目中的错误不大可能导致当前项目中的错误。因此,可能要决定忽略这些错误。

如果不想更新对象和脚本,则清除“更新现有架构对象定义和脚本以使用数据库引用变量”复选框,然后单击“确定”。此时引用即添加到数据库项目,而您不需要在此过程。

3 如何把原来做过的JAVA项目导入到另一台电脑里

当下载了包含Eclipse 项目的源代码文件后,我们可以把它导入到当前的Eclipse 工作区然后编辑和查看。点击菜单File > Import,然后在d出的Import 对话框中展开General目录,选择Existing Projects into Workspace,接着点击Next 按钮。当选中单选钮Select root directory:时可以点击Browse…按钮选中包含项目的文件夹,如果包含项目的话就可以在中间的Projects 列表框中显示;而当选中单选钮Select archive file:时可以点击Browse…按钮选中包含项目的ZIP 压缩包,如果包含项目的话就可以在中间的Projects列表框中显示。最后点击Finish 按钮就可以导入项目并打开了。

点击菜单File > Export,然后在d出的Export 对话框中展开General 目录,选择Archive File,接着点击Next 按钮。然后在To archive file:输出框中选中要保存的文件名,一般写成项目名zip,然后点击Finish 按钮即可导出当前项目。还有一种方式是手工打包,用WinRAR 或者WinZIP 等工具都可以

4 自己做的项目涉及到数据库,怎么样把这个项目上传到服务器上

MSSQL数据库:

直接给它提供dmf文件,他给你附加

现在的web空间服务商,他们都有数据库与web 容器在他们的服务器上的。你的项目挂在那,连的数据就相当于连的本地的,只是他在Tomcat的serverxml里面配置了(你可以去找 web项目部署服务器 相关资料)

总之,你给钱 这些东西不需要你去管 人家帮你搞定 。部署发布这块,感兴趣自己可以去学(部署这块也有研究的,比如:WEB程序自动安装--Tomcat+web项目+MySQL+jre 一起打包 exe发布,这样没有JDK环境的机器也照样运行你的项目 、还有你现在问的部署外网服务器等 )说了一大堆 分该给我了吧

5 如何将excel中的数据导入数据库

首先打开SQL SERVER 的企业管理器,到你要导入数据的数据库的表上右键,选择所有任务,导入数据。在d出的对话框上点击下一步。

选择数据源为EXCEL如图所示。

选择要导入的EXCEL文件

输入你的数据库的登入信息

选择第一个项目(从源数据库复制表和视图),然后点下一步

选择你要导入的表的第几页,其中目的表是可以修改的,如果要转换其中的数据,点后面的小方块,上面有三个小点的小方块。

点击下一步,完成,即可

数据导入很快的,导入的结果会反馈给你。点击完成。

刷新你的数据库,这个时候你可以发现你导入的数据表已经存在并可以使用了。

6 如何导入已有的外部数据库

导入已有的外部数据库的方法:

第一种是右击数据库,然后点击附加。出现下面的界面。然后选择添加,添加上你要添加的mdf文件即可。

第二种方法是:新建查询,然后输入下列语句,

EXEC sp_attach_db @dbname = 'yourdatabasename',

@filename1 = 'x:\路径\MSSQL\Data\pubsmdf',

@filename2 = 'x:\路径\MSSQL\DataLdf

以上就是关于怎么把java的数据导入数据库全部的内容,包括:怎么把java的数据导入数据库、数据库中什么是垃圾数据、MySQL命令行导入sql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10197029.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存