jdbc 와 druid 연결 탱크 의 사용 에 대한 상세 한 설명

jdbc 를 사용 하여 데이터 베 이 스 를 조작 합 니 다.
I 데이터베이스 연결 가 져 오기

package org.example.utils;
import java.sql.*;
public class JavaDateConnection {
 /**
  *        
  * @return Connection
  */
 public Connection getConn() {
 //project     
  String url = "jdbc:mysql://localhost:3306/project";
  //   
  String username = "root";
  //  
  String password = "Hyk59308";
  Connection conn = null;
  try {
  //    
   Class.forName("com.mysql.jdbc.Driver");
   //classLoader,      
   conn = DriverManager.getConnection(url, username, password);
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return conn;
 }
II 데이터베이스 에 대한 SQL 문 구 를 작성 합 니 다.

String sql1="insert into myTable values(?,?,?,?)";//  sql  
		String sql2="select * from myTable";    //  sql  
		int result=0;    //             ,       

``/**
			 * PreparedStatement   Statement  ,PreparedStatement        ,
			 *       Statement  ,      ,  SQL         
			 */
			PreparedStatement ps=connection.prepareStatement(sql1);   
			ps.setString(1,"tanker");
			ps.setString(2, "m");
			ps.setString(3,"1991-11-20");
			ps.setString(4, "Franch");
			result=ps.executeUpdate();
			if(result>0)
				System.out.println("    ");
			else
				System.out.println("    ");
			//Statement   sql        
			Statement statement=connection.createStatement();
			//             ,          
			ResultSet results=statement.executeQuery(sql2); 
			System.out.println("name"+" "+"sex"+" "+"birth"+" "+"birthaddr");
			System.out.println("------------------------");
			while(results.next())
			{
				System.out.println(results.getString("name")+" "+
							  results.getString("sex")+" "+
							  results.getString("birth")+" "+
							  results.getString("birthaddr"));
			}
			System.out.println("  !");
Ⅲ 관련 자원 닫 기

 *   Connection PreparedStatement
  * @param connection
  * @param preparedStatement
  */
 public static void closeConnection(Connection connection, PreparedStatement preparedStatement, ResultSet resultSet){
  if (resultSet != null) {
   try {
    resultSet.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  if (preparedStatement != null) {
   try {
    preparedStatement.close();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
  if (connection != null) {
   try {
    connection.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
Druid 연결 탱크 u 를 사용 하여 데이터 베 이 스 를 조작 합 니 다.
I Druid 연결 풀 대상 을 만 들 고 가 져 오기

package util;
import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class DBUtil {
 private static DataSource ds;
 static {
  //1.      
  Properties pro = new Properties();
  try {
   pro.load(DBUtil.class.getClassLoader().getResourceAsStream("/db.properties"));
   //  DataSource
   ds = DruidDataSourceFactory.createDataSource(pro);
  } catch (IOException e) {
   e.printStackTrace();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 //    
 public static Connection getConnection() throws SQLException {
  return ds.getConnection();
 }
II SQL 문 구 를 만들어 데이터베이스 작업 을 수행 합 니 다.

/**
  * @param sql SQL  
  * @param objs	SQL       ,         null
  * @return         ,   int
  */
 public static int executeDML(String sql,Object...objs){
  //   jdbc  
  Connection conn = null;
  PreparedStatement ps = null;
  int i = -1;
  try {
   //       
   conn = DBUtil.getConnection();
   //       
   conn.setAutoCommit(false);
   //   SQL    
   ps = conn.prepareStatement(sql);
   //       
   if(objs!=null){
    for(int j=0;j<objs.length;j++){
     ps.setObject(j+1,objs[j]);
    }
   }
   //   SQL
   i = ps.executeUpdate();
   conn.commit();
  } catch (Exception e) {
   try {
    conn.rollback();
   } catch (SQLException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
   }
   e.printStackTrace();
  } finally {
   DBUtil.closeAll(null, ps, conn);
  }
  return i;
 }
Ⅲ 관련 자원 닫 기

//    
 public static void closeAll(ResultSet rs,Statement stmt,Connection conn){
  try {
   if(rs!=null){
    rs.close();
   }
  } catch (SQLException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }
  try {
   stmt.close();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  try {
   conn.close();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
jdbc 와 druid 연결 풀 의 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 jdbc 와 druid 연결 풀 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기