JDBC(mysql)

一、java.sql接口中的接口和类
1.Driver接口和DriverManager类:前者表示驱动器,后者表示驱动管理器。
所有JDBC驱动器必须实现Driver接口,在编写访问数据库的java程序时,必须把特定的数据库的JDBC驱动器的类库加入到classpath中。
DriverManager类的方法都是静态方法。主要如下:

主要方法摘要

static void

deregisterDriver(Driver driver) 从 DriverManager 的列表中删除一个驱动程序。

static Connection

getConnection(String url, Properties info) 试图建立到给定数据库 URL 的连接。

static Connection

getConnection(String url, String user, String password) 试图建立到给定数据库 URL 的连接。

static int

getLoginTimeout() 获取驱动程序试图登录到某一数据库时可以等待的最长时间,以秒为单位。

static PrintWriter

getLogWriter() 获取日志 writer。

2.Connectio接口:表示数据库的连接。

主要方法摘要

 Statement

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

 DatabaseMetaData

getMetaData() 获取一个 DatabaseMetaData 对象,该对象包含关于此 Connection 对象所连接的数据库的元数据。

 PreparedStatement

prepareStatement(String sql)创建PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。

3.Statement接口:负责执行SQL语句。

主要方法摘要

 boolean

execute(String sql) 执行给定的 SQL 语句,该语句可能返回多个结果。

 ResultSet

executeQuery(String sql) 执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。

 int

executeUpdate(String sql) 执行给定 SQL 语句,该语句可能为 INSERTUPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。

4.PreparaedStatement接口:负责执行预准备的SQL语句。详细学习看链接: 点击打开链接
6.ResultSet接口:表示SQL查询语句返回的结果集。

主要方法摘要

 double

getDouble(int columnIndex) 以 Java 编程语言中 double 的形式获取此 ResultSet 对象的当前行中指定列的值。

 double

getDouble(String columnLabel) 以 Java 编程语言中 double 的形式获取此 ResultSet 对象的当前行中指定列的值。

 float

getFloat(int columnIndex) 以 Java 编程语言中 float 的形式获取此 ResultSet 对象的当前行中指定列的值。

 float

getFloat(String columnLabel) 以 Java 编程语言中 float 的形式获取此 ResultSet 对象的当前行中指定列的值。

 int

getInt(int columnIndex) 以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值。

 int

getInt(String columnLabel) 以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值。

 String

getString(int columnIndex) 以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。

 String

getString(String columnLabel) 以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。



二、编写访问数据库程序的步骤:
1.获取要访问的数据库的JDBC驱动类的类库,把它放在classpath中:Class.forName("com.mysql.jdbc.Driver");//利用反射
2.建立与数据库的连接:Connection connection = DriverManager.getConnection(db_url, user, password);//db_url:表示连接数据库的JDBC URL.
3.创建Statement对象,准备执行SQL语句:Statement statement = connection.createStatement();
4.执行SQL语句:ResultSet resultSet = statement.executeQuery("select username,password from login where password " + " ='123'");
5.访问ResultSet中的记录: 
while (resultSet.next()) {
     if (resultSet.getString(1).compareTo(textAccount.getText()) == 0 && resultSet.getString(2).compareTo(textPassword.getText()) == 0) {
                                break;
                     }
    }
6.依次关闭ResultSet、Statement和Connetion对象:resultSet.close();statement.close();connection.close();
测试代码:
package SQL;

import java.sql.SQLException;
import java.sql.*;

public class SQLTest {

	public static void main(String[] args) {
		// 驱动程序名
		String driver = "com.mysql.jdbc.Driver";
		// URL指向要访问的数据库名world
		String url = "jdbc:mysql://127.0.0.1:3306/library";
		// MySQL配置时的用户名
		String user = "root";
		// MySQL配置时的密码
		String password = "cbyh1313";
		String name;
		try {
			// 加载驱动程序
			Class.forName(driver);
			// 连续数据库
			Connection conn = DriverManager.getConnection(url, user, password);
			if (!conn.isClosed())
				System.out.println("Succeeded connecting to the Database!");
			// statement用来执行SQL语句
			Statement statement = conn.createStatement();
			// 要执行的SQL语句
			String sql = "select * from vipuser";
			// 结果集
			ResultSet rs = statement.executeQuery(sql);
			while (rs.next()) {
				// 输出结果
				System.out.println("name"+rs.getString(1)+" password:"+rs.getString(2));
			}
			rs.close();
			conn.close();
		} catch (ClassNotFoundException e) {
			System.out.println("Sorry,can`t find the Driver!");
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
创建过程需要添加插件,详细看链接: 点击打开链接




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值