jdbc连接原理以及过程,如何jdbc连接

Jdbc

(1) 前提准备:

Mysql的绿色版本,navicat lit for mysql(数据库可视化软件)myeclipse2014

 

(2) 安装navicat lit for mysql

一直按下一步即可。(qq式安装)

3):开启mysql服务

双击mysql文件夹下的mysql_start_utf8.bat即可,黑色屏幕一闪而过。(因为是用可视化工具,所以不需要配置环境变量)

 

(3) 连接数据库:

打开可视化工具,点击连接,出现

jdbc连接原理以及过程,如何jdbc连接_第1张图片

连接名随便取,密码这里是sa,然后点击连接测试,查看是否连接成功

(4) Myeclipse建立项目

打开后建立工程,file->new->javaproject

(5) 加载驱动包

将mysql-connector-java-5.1.6-bin这个文件复制在工程下面,然后右击->build path->add to build path.

 

 

Jdbc体系结构

 jdbc连接原理以及过程,如何jdbc连接_第2张图片

实现了应用程序和某个程序产品之间的接口,用于向数据库提供sql请求。

:为应用程序装在数据库驱动。

Jdbc API:提供一系列的抽象接口,主要用来连接数据库和直接调用sql命令和各种sql语句。

 jdbc连接原理以及过程,如何jdbc连接_第3张图片

 

(1) 访问数据库,首先加载数据库驱动程序(不同数据库加驱动程序不同,比如oracle,Class.forName("oracle.jdbc.driver.OracleDriver"))

 

Class.forName("com.mysql.jdbc.Driver");   //加载驱动

注:一定要加载mysql-connector-java-5.1.7-bin.jar--jdbc驱动包

 

 

2JDBC连接数据库创建连接对象

 

数据库url包含内容:数据库服务器的ip地址以及访问数据库的端口号,数据库名称,访问数据库用户名,密码。(有时需要指定数据库访问所采用的编码方式。)

Url="jdbc:mysql://localhost:3306/testnew?user=root&password=sa&userUnicode=true&characterEncoding=UTF-8";

Localhost可以用127.0.0.1代替,表示本地机器ip地址。

con = (Connection) DriverManager.getConnection(url)//获得数据库链接对象。

DriverManager.getConnection()方法在java中,重载了三种方法。如下,只介绍第一种。

DriverManager.getConnection(String url)

DriverManager.getConnection(String url,Properties info)

DriverManager.getConnection(String url,String user,String password)

总结连接数据库:


Class.forName("com.mysql.jdbc.Driver");   //加载驱动

String url;

url="jdbc:mysql://localhost:3306/testnew?user=root&password=sa&userUnicode=true&characterEncoding=UTF-8";

con = (Connection) DriverManager.getConnection(url)

 

3)创建数据库操作对象

能够执行sql语句的对象。

http://blog.csdn.net/u011161786/article/details/48394751

connection可常见两种不同的数据库操作对象:StatementPrepareStatement

 

第一种:

Statement stmt=conn.createStatement();

Statement 对象提供了两个执种执行sql的方法

ResultSet executeQuery(String sql)//执行select,返回结果集

Int excuteUpdate(String sql)//执行update,insert,delete,返回一个整数

 

第二种:

PrepareStatement创建时直接指定sql对象

String sql=”.....”;

PrepareStatement pstmt= conn.PrepareStatement(sql);

 

PrepareStatement也有executeQuery,excuteUpdate方法,但是不带参数,因为创建PrepareStatement对象时候,conn.PrepareStatement(sql)方法已经指定sql语句。

对返回结果进行处理:

 

executeQuery方法返回ResultSet对象--由查询结果构成的数据表,ResultSet结果记录中隐含着一个数据行指针。

 

excuteUpdate方法返回int值,根据01判断是否成功。

释放资源:ResultSet,connection,PrepareStatement,Statement对象使用结束后关闭对象,释放资源。

Rs.close();

Stmt.close();

Con.close()

Pstmt.close()

//////////////////////////////////////////////////////////////

 

 

相关的sql语句,增删改查:

insert table set name=?,number=?,password=?

delete from table where name =?

update table set name=?,number=?,password=? where id=?

select name,password, from user where name=?

 

例子、:

public User query(String s)throws SQLException {

String sql="select uname,uid,upassword,idno,realname from user where uname=?";

User user=new User();

conn=DbUtil.getconnection();

PreparedStatement pstmt;

pstmt = conn.prepareStatement(sql);

//PrepareStatement对象的setXXX()方法,向PrepareStatement对象传递参数值。

pstmt.setString(1,s);

ResultSet rs=pstmt.executeQuery();

if(rs.next()){

//ResultSet对象的getXXX()方法,获取结果集中指定行的字段值,getXXX(int)或者getXXX(String)两种,前者int是指定第几个字段值,后一个String是指定字段属性名。

user.setUid(rs.getInt("uid"));

user.setUname(rs.getString("uname"));

user.setUpassword(rs.getString("upassword"));

user.setIdno(rs.getString("idno"));

user.setRealname(rs.getString("realname"));

return user;

}else{

return null;

}

}

你可能感兴趣的:(java)