1.编写java程序。
package com.my.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class MyDBUtil {
private String driverClass;
private String username;
private String password;
private String url;
public MyDBUtil() {
}
public MyDBUtil(String driverClass, String username, String password,
String uRL) {
this.driverClass = driverClass;
this.username = username;
this.password = password;
this.url = uRL;
}
public Connection getOracleJDBCConnection() throws Exception {
Connection conn = null;
try {
Class.forName(driverClass);
conn = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void main(String[] args) {
MyDBUtil db = new MyDBUtil("oracle.jdbc.driver.OracleDriver", "scott", "tiger", "jdbc:oracle:thin:@localhost:1521:myorcl");
try {
db.getOracleJDBCConnection();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 关闭数据库连接
*/
public void CloseConnection(Connection conn, Statement st, ResultSet rs) {
try {
if (st != null) {
st.close();
st = null;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (conn != null) {
conn.close();
conn = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
public String getDriverClass() {
return driverClass;
}
public void setDriverClass(String driverClass) {
this.driverClass = driverClass;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
package com.my.action;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.Properties;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import com.my.util.MyDBUtil;
public class MyAction {
public static Logger logger = Logger.getLogger(MyAction.class);
private static Connection connetConnection = null;
private static ResultSet rs = null;
private static PreparedStatement psmtSelect = null;
public static void doSomeQuery() {
Properties props = null;
PropertyConfigurator.configure(System.getProperty("user.dir")
+ "/config/log4j.properties");
String filePath = System.getProperty("user.dir")
+ "/config/application.properties";
try {
InputStream is = new BufferedInputStream(new FileInputStream(filePath));
props = new Properties();
props.load(is);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
String driverClass = props.getProperty("oracleDriver");
String username = props.getProperty("oracleUsername");
String password = props.getProperty("oraclePassword");
String uRL = props.getProperty("oracleUrl");
String sql = props.getProperty("oracleSql");
MyDBUtil myDBUtil = new MyDBUtil(driverClass, username, password, uRL);
try {
connetConnection = myDBUtil.getOracleJDBCConnection();
psmtSelect = connetConnection.prepareStatement(sql);
logger.info(sql);
rs = psmtSelect.executeQuery();
boolean titleFlag = false;
while (rs.next()) {
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
if(!titleFlag){
titleFlag = true;
for (int i = 0; i < numberOfColumns; i++) {
System.out.print(rsmd.getColumnName(i+1) + " ");
}
}
System.out.println();
for (int j = 0; j < numberOfColumns; j++) {
System.out.print(rs.getObject(j+1) + " ");
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
myDBUtil.CloseConnection(connetConnection, psmtSelect, rs);
}
}
}
package com.my.run;
import com.my.action.MyAction;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
MyAction.doSomeQuery();
}
}
#oracle
oracleDriver=oracle.jdbc.driver.OracleDriver
oracleUrl=jdbc:oracle:thin:@localhost:1521:myorcl
oracleUsername=scott
oraclePassword=tiger
oracleSql=select * from DEPT
log4j.rootLogger=INFO,Console,File
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601}: %m%n
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=d:\myUtil.log
log4j.appender.File.MaxFileSize=10MB
log4j.appender.File.MaxBackupIndex=2
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{ISO8601}: %m%n
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
2.编写manifest.mf
Manifest-Version: 1.0
Main-Class: com.my.run.Main
Class-Path: lib\log4j-1.2.15.jar lib\commons-dbcp-1.2.2.jar lib\ojdbc14-10.2.0.3.0.jar
注意:linux 下要用"/"反斜杠。
最后要空一行。
本文介绍如何使用Java编写程序连接Oracle数据库,并通过Java程序执行SQL查询语句,展示数据库操作的基础方法和流程。

2092

被折叠的 条评论
为什么被折叠?



