一、简单的连接
创建一个DBConnectionManager类,方便使用。
package Util;
import java.sql.*;
public class DBConnectionManager {
//private String driverName = "com.mysql.jdbc.Driver";//加载驱动程序 SQLServer
private String driverName = "oracle.jdbc.driver.OracleDriver";//加载驱动程序 Oracle
private String url = "jdbc:oracle:thin:@192.168.0.1:1521:nossdb1";//设置数据库连接串
private String user = "wh";//数据库登录用户名
private String password = "wh123";//数据库登录密码
private static String message = "恭喜,数据库连接正常!";
public void setDriverName(String newDriverName) {
driverName = newDriverName;
}
public String getDriverName() {
return driverName;
}
public void setUrl(String newUrl) {
url = newUrl;
}
public String getUrl() {
return url;
}
public void setUser(String newUser) {
user = newUser;
}
public String getUser() {
return user;
}
public void setPassword(String newPassword) {
password = newPassword;
}
public String getPassword() {
return password;
}
public Connection getConnection() {
try {
Connection conn=null;
Class.forName(driverName);
conn= DriverManager.getConnection(url, user, password);
return conn;
} catch (Exception e) {
e.printStackTrace();
message = "数据库连接失败!";
return null;
}
}
public void close(Connection conn){
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
try{
DBConnectionManager dcm = new DBConnectionManager();
Connection conn = dcm.getConnection();
System.out.println(message);
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
二、批量更新数据库
try {
Connection conn = null;
//PreparedStatement ps = null;
Statement ps = null;
ResultSet rs = null;
int count = 0;
boolean is_true=false;//判断给的文件标题是否正确
try {
DBConnectionManager dcm = new DBConnectionManager();
conn = dcm.getConnection();
conn.setAutoCommit(false); //关闭自动提交
} catch (Exception e1) {
e1.printStackTrace();
}
ps=conn.createStatement();
for(i=0,i<10;i++){
String sql ="insert into table_name (列1, 列2,...) VALUES (值1, 值2,....) ";
ps.addBatch(sql);
if (count % 200 == 0) {
ps.executeBatch();
conn.commit();
ps.clearBatch();
}
}
ps.executeBatch();
conn.commit();
conn.close();
ps.close();
} catch ( Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
三、result结果
try{
/** 连接数据库 查询 */
Connection conn = null;
// PreparedStatement ps = null;
Statement ps = null;
ResultSet rs = null;
int count = 0;
boolean is_true = false;// 判断给的文件标题是否正确
DBConnectionManager dcm = new DBConnectionManager();
conn = dcm.getConnection();
conn.setAutoCommit(false);
ps = conn.createStatement();
rs = ps.executeQuery("select ZIDUAN, upper(COUTER) COUTER from A_PANSHI_DIC");
Map countMap = new HashMap();// 存放 counter 跟 字段
while (rs.next()) {
System.out.println(rs.getObject(1));//速度最快
System.out.println(rs.getObject(2));//速度最快
System.out.print ( rs.getString("ZIDUAN") );//查询慢
System.out.println( rs.getString("COUTER") );//查询慢
countMap.put(rs.getObject(2).trim(), rs.getObject(1).trim());
}
} catch (Exception e) {
// TODO: handle exception
}
四、PreparedStatement防止sql注入
Connection conn = null;
PreparedStatement stmt = null;
try {
DBConnectionManager dcm = new DBConnectionManager();
conn = dcm.getConnection();
stmt = conn.prepareStatement("INSERT INTO users VALUES(?,?,?,?,?)");
stmt.setInt(1, 5);
stmt.setString(2, "tom");
stmt.setString(3, "333");
stmt.setString(4, "tom@163.com");
stmt.setString(5, "2015-09-11");
int i = stmt.executeUpdate();
if(i>0){
System.out.println("success");
}
} catch (Exception e) {
e.printStackTrace();
}finally{
DBUtils.closeAll(null, stmt, conn);
}
jdbc驱动 oracle