java [30] jdbc基础

简化版本:

import java.sql.Connection;

/*数据库操作:
 * DriverManager
1.注册
public static void registerDriver(Driver driver) 
2.建立连接
public static Connection getConnection(String url,
                                       String user,
                                       String password)
 * */
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Base {

	public static void main(String[] args) throws SQLException, ClassNotFoundException {
		// TODO Auto-generated method stub
		Base b = new Base();
		b.test();

	}
    //简化版本
	static void test() throws SQLException, ClassNotFoundException {
		//1.注册驱动
		//public static void registerDriver(Driver driver)
		//方式一
		DriverManager.registerDriver(new com.mysql.jdbc.Driver());
		
		//方式二
		System.setProperty("jdbcdrivers","com.mysql.jdbc.Driver");
		
		//方式三推荐使用
		Class.forName("com.mysql.jdbc.Driver");
		
		//2.建立连接
		Connection conn = DriverManager.getConnection("jdbc:mysql://192.168.11.138:3306/test", "root", "root");
		
		//3.创建语句
		Statement st = conn.createStatement();
		
		//4.执行语句
		ResultSet rs = st.executeQuery("select * from T1");
		
		//5.处理结果
		while (rs.next()) {
			System.out.println(rs.getObject(1)+ "\t" +rs.getObject(2)+ "\t"+rs.getObject(3));
			
		}
		//6.释放资源
		rs.close();
		st.close();
		conn.close();		
	}

}

第二版本:

数据库连接需要尽量晚创建、早释放

package com.test1;

import java.sql.Connection;

/*数据库操作:
 * DriverManager
1.注册
public static void registerDriver(Driver driver) 
2.建立连接
public static Connection getConnection(String url,
                                       String user,
                                       String password)
 * */


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

public class Base2 {

	public static void main(String[] args) throws SQLException, ClassNotFoundException {
		// TODO Auto-generated method stub
		Base2 b = new Base2();
		b.test();

	}
	static void template() {
		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		String url = "jdbc:mysql://192.168.11.138:3306/test";
		String user = "root";
		String password = "root";
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection(url, user, password);
			//3.创建语句
			st = conn.createStatement();
			
			//4.执行语句
			rs = st.executeQuery("select * from T1");
			
			//5.处理结果
			while (rs.next()) {
				System.out.println(rs.getObject(1)+ "\t" +rs.getObject(2)+ "\t"+rs.getObject(3));
				
			}
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
				
		}finally {
			//6.释放资源
			try {
				if (rs !=null)
					st.close();
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}finally {
				try {
					if (st!=null)
						st.close();
				}catch (Exception e) {
					// TODO: handle exception
					e.printStackTrace();
				}finally {
					if (conn!=null)
						try {
							conn.close();
						} catch (SQLException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
				}
			}
			
		}			
	}

}

版本3:创建一个工具类:

package com.test1;

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

public final class jdbcUtils {
	private static String url = "jdbc:mysql://192.168.11.138:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT";
	private static String user = "root";
	private static String password = "root";
	private jdbcUtils() {
		
	}
	static {
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			throw new ExceptionInInitializerError(e);
		}
	}
	
	public static Connection getConnection() throws SQLException {
		return DriverManager.getConnection(url, user, password);
	}
	
	public static void free(ResultSet rs,Statement st,Connection conn) {
			//6.释放资源
			try {
				if (rs !=null)
					st.close();
			} catch (Exception e) {
				e.printStackTrace();
			}finally {
				try {
					if (st!=null)
						st.close();
				}catch (Exception e) {
					e.printStackTrace();
				}finally {
					if (conn!=null)
						try {
							conn.close();
						} catch (SQLException e) {
							e.printStackTrace();
						}
				}
			}
	}	
}
package com.test1;

import java.sql.Connection;

/*数据库操作:
 * DriverManager
1.注册
public static void registerDriver(Driver driver) 
2.建立连接
public static Connection getConnection(String url,
                                       String user,
                                       String password)
 * */


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

public class Base2 {

	public static void main(String[] args) throws SQLException, ClassNotFoundException {
		// TODO Auto-generated method stub
		Base2.template();

	}
	static void template() {
		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		try {
			conn = jdbcUtils.getConnection();
			//3.创建语句
			st = conn.createStatement();
			
			//4.执行语句
			rs = st.executeQuery("select * from T1");
			
			//5.处理结果
			while (rs.next()) {
				System.out.println(rs.getObject(1)+ "\t" +rs.getObject(2)+ "\t"+rs.getObject(3));
				
			}
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
				
		}finally {
			//6.释放资源
			jdbcUtils.free(rs,st,conn);
		}			
	}

}

返回结果:

1	zhangsan	ohyes
2	lisi	hello
3	alex	pss

猜你喜欢

转载自blog.csdn.net/qq_38125626/article/details/81910927