JDBC连接数据库

xiaoxiao2021-02-28  87

一、简单的连接

创建一个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

转载请注明原文地址: https://www.6miu.com/read-53934.html

最新回复(0)