jdbc初步学习(一)

   1.  使用jdbc连接数据库步骤:

装载驱动DriverManger;

                获取连接Connection;

                获取Statement或者是Preparestatement

                若是查询语句,还有ResultSet


       关键之处,千万别忘了关闭各种资源啊,还有就是数据的异常也要谨慎处理,别单纯的打印下错误语句就行,是抛出去还是怎么样,都要想仔细。代码如下:

package com.study.util;

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

public final class JDBCUtils {
	
	
   static{
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			throw new ExceptionInInitializerError(e); //异常必须被抛出
		}
	}
	//private static String url = "jdbc:mysql://localhost:3306/testjdbc";
	private static String url = "jdbc:mysql://localhost:3306/testjdbc?generateSimpleParameterMetadata=true";
	private static String user = "root";
	private static String password = "*********";
	
	
	private  JDBCUtils() {
		
	}
	
	public static Connection  getConnection() throws SQLException {
		
		return DriverManager.getConnection(url, user, password);
		
	}
	
	public static void free(ResultSet resultSet,Statement statement,Connection connection){
		try{
			if(resultSet != null){
				resultSet.close();
			}
		}catch (Exception e) {
			e.printStackTrace();
		}finally{
			try{
			if(statement != null){
				statement.close();
			}
			}catch (Exception e) {
				e.printStackTrace();
			}
			finally{
				if(connection != null){
					try {
						connection.close();
					} catch (SQLException e) {
						e.printStackTrace();
					}
				}
			}
		}
		
	}
	
	
}
当加载类com.mysql.jdbc.Driver类时候,会执行其静态代码块:

public class Driver extends NonRegisteringDriver implements java.sql.Driver {
	// ~ Static fields/initializers
	// ---------------------------------------------

	//
	// Register ourselves with the DriverManager
	//
	static {
		try {
			java.sql.DriverManager.registerDriver(new Driver());
		} catch (SQLException E) {
			throw new RuntimeException("Can't register driver!");
		}
	}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值