Java培训课程之如何使用JDBC API操作数据库

1使用JDBC API操作数据库的基本步骤

分析使用JDBC API操作数据库,进行CRUD基本步骤都相似。

  • 加载和注册驱动
  • 获取数据库连接
  • 准备操作执行SQL的Statement对象
  • 执行SQL
  • 调用Statement对象的executeUpdate(String sql)执行SQL语句进行插入、修改、删除操作
  • 调用Statement对象的executeQuery(String sql)执行SQL语句进行查询操作
  • 处理执行结果
  • CUD操作,根据返回的int值判断结果
  • 查询操作,根据返回ResultSet结果集,获取查询数据
  • 释放资源

总结:

  • 加载和注册驱动,整个项目做一次即可
  • 获取数据库连接可以封装到一个方法中
  • 释放资源可以封装到一个方法中

2编写工具类JDBCUtils

package com.atguigu.utils;

 

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Properties;

 

/*

 * 工具类:

 * 1、注册驱动:只要运行一次

 * 2、获取连接

 * 3、关闭资源

 */

public class JDBCUtils {

         private static String drivername;

         private static String url;

         private static String user;

         private static String password;

         private static Properties pro = new Properties();

         static{

                  try {

                          //加载,读取jdbc.properties配置的信息

                          //pro.load的作用是把jdbc.properties文件中配置的信息,一一put到pro这个map中

                          pro.load(ClassLoader.getSystemClassLoader().getResourceAsStream(“jdbc.properties”));

 

//                        drivername = pro.getProperty(“key”)

                          drivername = pro.getProperty(“drivername”);

                          url = pro.getProperty(“url”);

                          user = pro.getProperty(“user”);

                          password = pro.getProperty(“password”);

 

                          //注册驱动,加载驱动

                          Class.forName(drivername);

                  } catch (ClassNotFoundException e) {

                          e.printStackTrace();

                  } catch (IOException e) {

                          e.printStackTrace();

                  }

         }

 

         public static Connection getConnection()throws SQLException{

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

                  return conn;

         }

 

         public static void closeQuietly(Connection conn){

                  try {

                          if(conn!=null){

                                   conn.close();

                          }

                  } catch (SQLException e) {

                          e.printStackTrace();

                  }

         }

 

         public static void closeQuietly(Statement st){

                  try {

                          if(st!=null){

                                   st.close();

                          }

                  } catch (SQLException e) {

                          e.printStackTrace();

                  }

         }

 

         public static void closeQuietly(ResultSet rs){

                  try {

                          if(rs!=null){

                                   rs.close();

                          }

                  } catch (SQLException e) {

                          e.printStackTrace();

                  }

         }

 

         public static void closeQuietly(Statement st,Connection conn){

                  closeQuietly(st);

                  closeQuietly(conn);

         }

 

         public static void closeQuietly(ResultSet rs,Statement st,Connection conn){

                  closeQuietly(rs);

                  closeQuietly(st);

                  closeQuietly(conn);

         }

}

 

 


上一篇:
下一篇: