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;
}
}
JDBC封装实例
最新推荐文章于 2023-08-15 17:11:47 发布