JDBC的基本应用

下载并配置好JDBC驱动后,我们可以来使用。

一、连接数据库

使用JDBC连接数据库存取数据时,要执行三个步骤:

  • 加载及注册适当的JDBC驱动程序

加载使用

Class.forName();

加载完成后,驱动程序会建立一个Driver对象,并且会让DriverManager.rigisterDriver()自动注册这个对象。

在JDBC中用URL来标识数据库,

jdbc:<子协议>:<子名称>

使用MySQL时,语法如下

jdbc:mysql://hostname:port/databasename?param=value1

子协议:mysql

子名称://hostname:port/databasename?param=value1,其中param可以有多个。

实例如:

jdbc:mysql://localhost:3306/sample?user=root&password=root;

  • 建立到指定的数据库的连接对象

有两种方法:

1.

String url = "jdbc:mysql://localhost:3306/sample?user=root&password=root";

Connection con = DriverManager.getConnection(url);

2.

String url = "jdbc:mysql://localhost:3306/sample";

String user ="root";

String password="root";

Connection con = DriverManager.getConnection(url,user,password);

  • 提交数据库查询和取得查询对象

在取得数据库的连接对象后,就可以由它来创建一个陈述对象,其主要用来 传送 SQL语句到数据库服务器和执行Sql语句。

如下:

Statement stmt= con.createStatement();

Statement对象有有三种执行语句的方法:

executeQuery():执行查询。

executeUpdate():执行更新。

execute():不知道正要执行的是什么时。

执行后数据库会返回一个ResultSet集合对象到JDBC中。原理如下:

Connection ------>PreparedStatement-------->ResultSet

       |------>Statement----------------->ResultSet

       |-------->CallableStatement------>ResultSet 

二、使用代码连接数据库

我们先建立一个testmysql的数据库,里面有一个student表。

//建立 
create databse testmysql;
//查看 
show databases;
//建立表
user testmysql;
create table student( id int(3), name char(20), sex boolean);
//加入数据 
insert into student (‘1‘, ‘lishengjing‘,‘1‘);
//查看数据 
select * from student ;

然后我们在本项目中加载 jdbc,右键项目,选择build path 里面的user library中的MySQL.

最后是编码。如下

package chuiyuan;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class JDBCExample {
	public static void main(String args[]){
		try {
			Class.forName("com.mysql.jdbc.Driver") ;
			String url = "jdbc:mysql://localhost:3306/testmysql?user=root&password=chuiyuan" ;
			Connection connection = DriverManager.getConnection(url) ;
			
			Statement stmt = connection.createStatement() ;
			ResultSet rs = stmt.executeQuery("select * from student");
			
			while (rs.next()) {
				System.out.println("student number:"+rs.getInt(1));
				System.out.println("student name:"+rs.getString(2));
				System.out.println("stutent sex:"+ rs.getBoolean(3)+"\n");
			}
			rs.close(); 
			stmt.close(); 
			connection.close();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}catch (SQLException e) {
			e.printStackTrace(); 
		}
		
		
	}
}

  

  

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。