Java使用JDBC连接数据库的详细步骤_第1页
Java使用JDBC连接数据库的详细步骤_第2页
Java使用JDBC连接数据库的详细步骤_第3页
Java使用JDBC连接数据库的详细步骤_第4页
Java使用JDBC连接数据库的详细步骤_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第Java使用JDBC连接数据库的详细步骤Connectionconn=null;

Statementstmt=null;//先创建连接对象和操作对象并且引用为空,是为了对象变量的生命周期不仅仅局限于try语句块内,而是在整个main方法内,方便后续finally语句块内释放资源

try{

//1、注册驱动

Driverdriver=newcom.mysql.jdbc.Driver();//多态,父类型引用指向子类型对象

DriverManager.registerDriver(driver);

//2、获取连接

url包括哪几部分:

Port

eg:1:80/index.html

http://通信协议

1IP地址

80端口号

index.html资源名

//staticConnectiongetConnection(Stringurl,Stringuser,Stringpassword)

Stringurl=jdbc:mysql://:3306/hello

Stringuser=root

System.out.println(

Stringpassword=rota

conn=DriverManager.getConnection(url,user,password);

System.out.println(数据库连接对象:+conn);//数据库连接对象com.mysql.jdbc.JDBC4Connection@1ae369b7

//3、获取数据库操作对象

//Statement类中createStatement()创建一个Statement对象来将SQL语句发送到数据库。

stmt=conn.createStatement();

//4、执行sql语句

//intexecuteUpdate(Stringsql)

//专门执行DML语句

//返回值是影响数据库中的记录条数

intcount=stmt.executeUpdate(updatedeptsetdname=销售部,loc=合肥wheredeptno=20;

System.out.println(count==1保存成功:保存失败

//5、处理查询结果集

}catch(SQLExceptione){

e.printStackTrace();

}finally{

//6、释放资源

//从小到大依次关闭

//finally语句块内的语句一定会执行!

if(stmt!=null){

try{

stmt.close();

catch(SQLExceptione){

e.printStackTrace();

if(conn!=null){

try{

conn.close();

catch(SQLExceptione){

e.printStackTrace();

}

第二次优化:(比较两种注册驱动的方法)

packagecom.zdx.source.code.jdbc;

JDBC完成Delete

importjava.sql.*;

publicclassJDBCTest02{

publicstaticvoidmain(String[]args){

//1、注册驱动

//2、获取连接

//3、获取数据库操作对象

//4、执行sql语句

//5、获取查询结果集

//6、释放资源

Connectionconn=null;

Statementstmt=null;

try{

Driverdriver=newcom.mysql.jdbc.Driver();

DriverManager.registerDriver(driver);

Stringurl=jdbc:mysql://:3306/mydatabase

Stringuser=root

Stringpassword=146

conn=DriverManager.getConnection(url,user,password);

stmt=conn.createStatement();

intcount=stmt.executeUpdate(deletefromdeptwheredeptno=50

System.out.println(count==1删除成功:删除失败

}catch(SQLExceptione){

e.printStackTrace();

}finally{

if(conn!=null){

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

if(stmt!=null){

try{

stmt.close();

}catch(SQLExceptione){

e.printStackTrace();

}

第三次优化:(最佳注册驱动获取连接)

packagecom.zdx.source.code.jdbc;

注册驱动的另一种方式

importjava.sql.*;

publicclassJDBCTest03{

publicstaticvoidmain(String[]args){

try{

//注册驱动

Class.forName(com.mysql.jdbc.Driver

//获取连接

Connectionconn=DriverManager.getConnection(jdbc:mysql://localhost:3306/mydatabase,root,146

System.out.println(conn);

}catch(SQLExceptione){

e.printStackTrace();

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

第四次优化:(使用资源绑定器)

packagecom.zdx.source.code.jdbc;

使用资源绑定器

importjava.sql.*;

importjava.util.*;

publicclassJDBCTest04{

publicstaticvoidmain(String[]args){

ResourceBundlebundle=ResourceBundle.getBundle(jdbc

Stringdriver=bundle.getString(driver

Stringurl=bundle.getString(url

Stringuser=bundle.getString(user

Stringpassword=bundle.getString(password

Connectionconn=null;

Statementstmt=null;

try{

Class.forName(driver);

conn=DriverManager.getConnection(url,user,password);

stmt=conn.createStatement();

intcount=stmt.executeUpdate(insertintodept(deptno,dname,loc)values(50,人事部,北京

System.out.println(count==1保存成功:保存失败

}catch(SQLExceptione){

e.printStackTrace();

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}finally{

if(conn!=null){

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

if(stmt!=null){

try{

stmt.close();

}catch(SQLExceptione){

e.printStackTrace();

}

第五次优化:(对操作结果集的处理)

packagecom.zdx.source.code.jdbc;

执行DQL语句

importjava.sql.*;

importjava.util.*;

publicclassJDBCTest05{

publicstaticvoidmain(String[]args){

//1、注册驱动

//2、建立连接

//3、获取数据库操作对象

//4、执行sql语句

//5、获取查询结果集

//6、释放资源

Connectionconn=null;

Statementstmt=null;

ResultSetrs=null;

try{

ResourceBundlerb=ResourceBundle.getBundle(jdbc

Stringdriver=rb.getString(driver

Stringurl=rb.getString(url

Stringuser=rb.getString(user

Stringpassword=rb.getString(password

Class.forName(driver);

conn=DriverManager.getConnection(url,user,password);

stmt=conn.createStatement();

rs=stmt.executeQuery(selectempno,ename,salfromemp

while(rs.next()){

Stringempno=rs.getString(1);

Stringename=rs.getString(2);

Stringsal=rs.getString(3);

System.out.println(empno+,+ename+,+sal);

//按下标取出,程序不健壮

Stringempno=rs.getString(empno

Stringename=rs.getString(ename

Stringsal=rs.getString(sal

System.out.println(empno+,+ename+,+sal);

//以指定的格式取出

intempno=rs.getInt(1);

Stringename=rs.getString(2);

doublesal=rs.getDouble(3);

System.out.println(empno+,+ename+,+(sal+100));

intempno=rs.getInt(empno

Stringename=rs.getString(ename

doublesal=rs.getDouble(sal

System.out.println(empno+,+ename+,+(sal+200));

}catch(Exceptione){

e.printStackTrace();

}finally{

if(rs!=null){

try{

rs.close();

}catch(Exceptione){

e.printStackTrace();

if(stmt!=null){

try{

stmt.close();

}catch(Exceptione){

e.printStackTrace();

if(conn!=null){

try{

conn.close();

}catch(Exceptione){

e.printStackT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论