81,094
社区成员
发帖
与我相关
我的任务
分享
<Context path="/BookManage" docBase="BookManage"
debug="5" reloadable="true" crossContext="true" workDir="">
<Resource name="jdbc/book"
auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="system" password="initial"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.47.16:1521:bookmanage"/>
</Context>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/book</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
#SQL Server jdbc
jdbc.dbDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.dbUrl=jdbc:sqlserver://localhost:1433;DatabaseName=test
#ODBC
#odbc.dbDriver=sun.jdbc.odbc.JdbcOdbcDrive
#odbc.dbUrl=jdbc:odbc:test
#Oracle
#jdbc.dbDriver=oracle.jdbc.driver.OracleDriver
#jdbc.dbUurl=jdbc:oracle:thin:@localhost:1521:myorcl
jdbc.dbUser=system
jdbc.dbPswd=12345678
DBManager.java
import java.sql.*;
import java.util.Properties;
import java.io.InputStream;
import java.io.IOException;
public class DBManager {
private static String propFileName = "/com/DBmanager/db.properties";
private static Properties config = new Properties();
private static String dbDriver = null;
private static String dbUrl = null;
private static String dbUser = null;
private static String dbPswd = null;
static {
try {
InputStream in = DBManager.class.getResourceAsStream(propFileName);
config.load(in);
//System.out.println("读取文件成功");
} catch (Throwable t) {
//System.out.println("读取文件失败");
t.printStackTrace();
throw new ExceptionInInitializerError();
}
}
public static Connection getConnection(){
Connection conn = null;
try {
dbDriver = config.getProperty("jdbc.dbDriver");
dbUrl = config.getProperty("jdbc.dbUrl");
dbUser = config.getProperty("jdbc.dbUser");
dbPswd = config.getProperty("jdbc.dbPswd");
dbUrl = config.getProperty("jdbc.dbUrl");
Class.forName(dbDriver);
conn=DriverManager.getConnection(dbUrl,dbUser,dbPswd);
} catch (SQLException e) {
System.out.println("数据库连接失败!");
//e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
}
public static void CloseConnection(Connection conn,PreparedStatement pStat)
{
try {
pStat.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void CloseConnection(Connection conn,PreparedStatement pStat,ResultSet rs)
{
try {
rs.close();
pStat.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static ResultSet ExcuteQuery(String sql)
{
ResultSet rs=null;
Connection conn=DBManager.getConnection();
PreparedStatement pStat=null;
try {
pStat=conn.prepareStatement(sql);
rs=pStat.executeQuery();
} catch (SQLException e) {
System.out.println("数据库连接失败!");
e.printStackTrace();
}
return rs;
}
public static int ExcuteUpdate(String sql,Object Obj[])
{
int j=0;
Connection conn=DBManager.getConnection();
PreparedStatement pStat=null;
try {
pStat=conn.prepareStatement(sql);
for(int i=0;i<Obj.length;i++)
{
pStat.setObject(i+1, Obj[i]);
}
j=pStat.executeUpdate();
//System.out.println("更新成功,更新的行数为:"+j);
} catch (SQLException e) {
e.printStackTrace();
}
return j;
}
public static int ExcuteUpdate(String sql,Object Obj[],int type[])
{
int j=0;
Connection conn=DBManager.getConnection();
PreparedStatement pStat=null;
try {
pStat=conn.prepareStatement(sql);
for(int i=0;i<Obj.length;i++)
{
switch(type[i])
{
case 1:
pStat.setString(i+1, (String)Obj[i]);
break;
case 2:
pStat.setInt(i+1, (Integer)Obj[i]);
break;
}
}
j=pStat.executeUpdate();
//System.out.println("更新成功,更新的行数为:"+j);
} catch (SQLException e) {
e.printStackTrace();
}
return j;
}
/**
*
* @param sql
* @param Obj
* @return ResultSet
*/
public static ResultSet ExcuteQueryBySql(String sql,Object Obj[])
{
ResultSet rs=null;
Connection conn=DBManager.getConnection();
PreparedStatement pStat=null;
try {
pStat=conn.prepareStatement(sql);
for(int i=0;i<Obj.length;i++)
{
pStat.setObject(i+1, Obj[i]);
}
rs=pStat.executeQuery();
}catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public static ResultSet ExcuteQueryBySql(String sql,Object Obj[],int type[])
{
ResultSet rs=null;
Connection conn=DBManager.getConnection();
PreparedStatement pStat=null;
try {
pStat=conn.prepareStatement(sql);
for(int i=0;i<Obj.length;i++)
{
switch(type[i])
{
case 1:
pStat.setString(i+1, (String)Obj[i]);
break;
case 2:
pStat.setInt(i+1, (Integer)Obj[i]);
break;
}
}
rs=pStat.executeQuery();
}catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
/**
* Statement 返回 ResultSet 的方法
* @param sql
* @return
*/
public static ResultSet ExcuteBySql(String sql)
{
ResultSet rs=null;
Connection conn=DBManager.getConnection();
Statement pStat=null;
try {
pStat=conn.createStatement();
rs=pStat.executeQuery(sql);
}catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
}
我的是sqlserver数据库,oracle都差不多,两个数据库我都在用,oracle还需要引用下面这两个文件
import oracle.jdbc.driver.OracleResultSet;
import oracle.sql.CLOB;