create table Test
(
id varchar(10) primary key,
pwd varchar(10)
);
insert into Test(id,pwd) values('20120730','123');
insert into Test(id,pwd) values('20120731','123');
select* from Test;
2.添加MyEclipse的oracle支持(ojdbc14.jar附件);
3.在MyEclipse中编写了两个工具包
package dbutil; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionManager { private final static String DRIVER_NAME="oracle.jdbc.driver.OracleDriver"; private final static String URL="jdbc:oracle:thin:@localhost:1521:orcl"; private final static String USER_NAME="msk"; private final static String PASSWORD="msk"; public static Connection getConnection(){ Connection conn=null; try{ Class.forName(DRIVER_NAME); conn=DriverManager.getConnection(URL,USER_NAME,PASSWORD); }catch(ClassNotFoundException e){ e.printStackTrace(); }catch(SQLException e){ e.printStackTrace(); } return conn; } public static void close(Connection conn){ if(conn!=null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } conn=null; } } }
package dbutil; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBOperator { /** * 执行更新、删除、插入操作 * @param sql * @param params * @return */ public int executeUpdate(String sql,String[] params){ int rows = 0; try { Connection conn = ConnectionManager.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql); if(params!=null){ for(int i=0;i<params.length;i++){ pstmt.setString(i+1, params[i]); } } rows = pstmt.executeUpdate(); ConnectionManager.close(conn); } catch (SQLException e) { e.printStackTrace(); } return rows; } /** * 执行查询操作 * @param sql * @param params * @return */ public ResultSet executeQuery(String sql,String[] params) { ResultSet rs = null; try { Connection conn = ConnectionManager.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql); if(params!=null){ for(int i=0;i<params.length;i++){ pstmt.setString(i+1, params[i]); } } rs = pstmt.executeQuery(); } catch (SQLException e) { e.printStackTrace(); } return rs; } }
4.写了一个测试类
package test; import java.sql.ResultSet; import java.sql.SQLException; import dbutil.DBOperator; public class test { public static void main(String[] args) { String sql="select * from Test where ID=?"; String[] params={"20120730"}; ResultSet rs=new DBOperator().executeQuery(sql,params); try { if(rs.next()){ System.out.println("第一个:"+rs.getString(1)); System.out.println("第二个:"+rs.getString(2)); } } catch (SQLException e) { e.printStackTrace(); } } }
输出结果:
第一个:20120730
第二个:123
5.如果是sqlserver连接的话,只需要更改第一个工具包中的常量
private final static String DRIVER_NAME="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private final static String URL = "jdbc:sqlserver://localhost:1433;database=StoreDB";
private final static String USERNAME = "sa";
private final static String PASSWORD = "sqlpass";