欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用JDBC的方法

程序员文章站 2024-03-22 16:31:40
...

使用JDBC的方法

添加JDBC驱动

(数据库用的是MySQL就下载mysql的JDBC驱动)

使用JDBC的方法

使用JDBC的方法

将其中的.jar文件拷贝到Java  Project中的lib文件夹下

使用JDBC的方法

右键点击.jar   Build Path--> Add to Build Path

使用JDBC的方法

 

 使用步骤:

1.注册驱动

2.建立连接

3.创建执行对象PreparedStatement

4.执行sql,得到ResultSet      

5.遍历结果集

6.释放资源

[注]:executeQuery(sql):执行查询的sql语句

         executeUpdate(sql): 执行增删改的sql语句

完整代码:

package com.itheima.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;

public class JDBCDemo {
	public static void main(String[] args) {

		try {
			// 1.注册驱动
			Class.forName("com.mysql.jdbc.Driver");
			// 2.建立连接      参数一:协议+访问的数据库     参数二:用户名     参数三:密码
			Connection conn = DriverManager.getConnection(
					"jdbc:mysql://localhost/studentdb", "root", "123456");

			// 3.创建执行对象
            String sql = "select * from t_stu";
			PreparedStatement ps =conn.prepareStatement(sql);

			// 4.执行查询
			ResultSet rs = ps.executeQuery();

			// 5.遍历查询每一条记录
			while (rs.next()) {
				int id = rs.getInt("id");
				String name = rs.getString("name");
				int age = rs.getInt("age");
				System.out.println("id=" + id + "\t name=" + name + "\t age="
						+ age);
			}

			// 6.释放资源 先开启的对象后关闭,后开启的对象先关闭
			rs.close();
			ps.close();
			conn.close();

		} catch (Exception e) {
			e.printStackTrace();
		}

	}

}

 

改进版:(将资源释放、驱动注册、连接对象 放到到工具类JDBCUtil.java中)

完整代码:

JDBCTest.java

package com.itheima.test;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;

import com.itheima.util.JDBCUtil;

public class JDBCTest {

	public static void main(String[] args) {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			// 1.注册驱动 2.建立连接
			conn = JDBCUtil.getConn();

			// 3.创建PreparedStatement 
	         String sql = "select * from t_stu";
			ps = conn.prepareStatement(sql);
			// 4.执行查询 得到结果集
		
			rs = ps.executeQuery(sql);

			// 5.遍历查询每一条记录
			while (rs.next()) {
				int id = rs.getInt("id");
				String name = rs.getString("name");
				int age = rs.getInt("age");

				System.out.println("id=" + id + "\t name=" + name + "\t age="
						+ age);
			}

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			JDBCUtil.release(conn, ps, rs);
		}
	}

}

工具类的代码:JDBCUtil.java

package com.itheima.util;

import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;

import java.sql.SQLException;
import java.util.Properties;

public class JDBCUtil {

	static String driverClass = null;
	static String url = null;
	static String name = null;
	static String password = null;

	static {
		try {
			// 1.创建一个属性配置对象
			Properties properties = new Properties();
			//方法一:将jdbc.properties放在根目录下
			InputStream is = new FileInputStream("jdbc.properties");
			
			/*方法二:将jdbc.properties文件放到src文件夹下用此方法
			 * 使用类加载器,去读取src底下的资源文件
			InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
			*/
			// 导入输入流
			properties.load(is);

			// 读取属性
			driverClass = properties.getProperty("driverClass");
			url = properties.getProperty("url");
			name = properties.getProperty("name");
			password = properties.getProperty("password");
		    

		} catch (Exception e) {
             e.printStackTrace();
		}
	}

	/**
	 * 获取连接对象
	 * 
	 * @return
	 */
	public static Connection getConn() {
		Connection conn = null;
		try {
			// 1.注册驱动
			Class.forName(driverClass);
			// 2.建立连接
			conn = DriverManager.getConnection(url, name, password);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return conn;

	}

	/**
	 * 释放资源
	 * 
	 * @param conn
	 * @param ps
	 * @param rs
	 */
	public static void release(Connection conn, PreparedStatement ps, ResultSet rs) {
		closeRs(rs);
		closePs(ps);
		closeConn(conn);
	}

	private static void closeRs(ResultSet rs) {
		try {
			if (rs != null) {
				rs.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			rs = null;
		}
	}

	private static void closePs(PreparedStatement ps) {
		try {
			if (ps != null) {
				ps.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			ps = null;
		}
	}

	private static void closeConn(Connection conn) {
		try {
			if (conn != null) {
				conn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			conn = null;
		}
	}

}

配置文件jdbc.properties(放在根目录下)

driverClass = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost/studentdb
name = root
password = 123456

使用JDBC的方法

[注]:1. 注册驱动其实可以不写,因为jdbc4以后是自动注册的。

         2.读取配置文件有两种方法

            创建一个属性配置对象
            Properties properties = new Properties();
            //方法一:将jdbc.properties放在根目录下
            InputStream is = new FileInputStream("jdbc.properties");
            
            /*方法二:将jdbc.properties文件放到src文件夹下用此方法
             * 使用类加载器,去读取src底下的资源文件
            InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");

相关标签: 使用JDBC的方法