JDBC封装实例

package org.modules.database_conn.util;

import org.modules.databases_conn.entity;
import java.sql.*;
import java.util.*;

public class DButil{
	static Connection conn =null;
	static PreparedStatement pstmt =null;
	static Statement st =null;
	static ResultSet rs =null;
	
	private Static String driver ;
	private Static String url ;
	private Static String userName ;
	private Static String password ;
	private Static String statement ;
	public DButli(Databases databases){
		switch(database.getDatabasesType().toLowerCase()){
			case "mysql":
				this.driver=""
				this.url=
			case "oracle":
				this.driver=
				this.url=
			case "hive":
				this.driver=
				this.url=
			case "sqlserver":
				this.driver=
				this.url=
			case "postgresql"
				this.driver=
				this.url=
			case "sqlite"
				this.driver=
				this.url=
		}
	}
	/**
	*建立连接
	**/
	public Connection getConn(){
		try{
			//注册数据库驱动
			Class.forName(driver);
			//获取数据源
			if(userName!=null&&!userName.equals("")&&!userName.equal("null")){
				conn=DriverManager.getConnection(url,userName,password);			
			}
			else{
				conn=DriverManager.getConnection(url);
			}
		} catch(Exception e){
			System.out.println("获取connection失败");
			e.printStackTrace();
		}
		return conn;
	}
	public static void relase(){
		closeSt();
		closePstmt();
		closeRs();
		closeConn();
	}
	public static void closeConn(){
		try{
			if(conn!=null){
				conn.close();
			}
		} catch(Exception e){
			e.printStackTrace();
		}finally{
			conn=null;
		}
	}
	//其他关闭略
	/**
	*
	**/
	public boolean executeDML(String sql){
		boolean ok =true;
		try{
			conn=getConn;
			statement=conn.createStatement();
			statement.executeUpdate(sql);
		} catch(Exception e){
			ok=false;
			e.printStackTrace();
		}
		finally{
			relase();
		}
		reyurn ok;
	}
	/**
	*
	**/
	public List<Map<String,Obkect>> executeDQL(String sql){
		List<Map<String,Obkect>> resultList =new ArrayList<Map<String,Obkect>>();
		try{
			conn=getConn;
			pstmt=conn.prepareStatement(sql);
			rs=pstmt.executeQuery();
			ResultSetMetaData metaData = rs.getMetaData();
			while(rs.next()){
				Map<String,Obkect> map =new LinkedHashMap<String,Obkect>;
				for(int i=1;i<metaData.getColumnCount();i++){
					map.put(metaData.getColumnName(i),rs.getObject(i));
				}
				resultList.add(map);
			}
		} catch(Exception e){
			e.printStackTrace();
		}
		finally{
			relase();
		}
		reyurn resultList;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值