package com; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; import java.util.*; public class Dao { String driver="oracle.jdbc.driver.OracleDriver"; String url="jdbc:oracle:thin::1521:xe"; String username="hr"; String password="hr";//执行sql语句 增删改 public void executeUpdate(String sql)throws Exception{ // 加载驱动 Class.forName(driver); // 建立连接 p1:jdbc:oracle:thin:@[IP]:[端口号]:[数据库名] p2:用户名 p3:密码 // 连自己 127.0.0.1 localhost Connection conn=java.sql.DriverManager.getConnection(url,username,password); // 创建 Statement Statement stmt=conn.createStatement(); // 执行sql语句 增 删 改 stmt.executeUpdate(sql); //stmt.executeUpdate(sql); //stmt.executeUpdate(sql); // 善后 释放资源 stmt.close(); conn.close(); } // 通用查询 public List<Map> executeQuery(String sql)throws Exception{ // 加载驱动 Class.forName(driver); // 建立连接 p1:jdbc:oracle:thin:@[IP]:[端口号]:[数据库名] p2:用户名 p3:密码 // 连自己 127.0.0.1 localhost Connection conn=java.sql.DriverManager.getConnection(url,username,password); // 创建 Statement 执行sql语句 Statement stmt=conn.createStatement(); // 执行sql语句 增 删 改 ResultSet rs=stmt.executeQuery(sql); ResultSetMetaData rsmd=rs.getMetaData(); //得到结果集列数 int count=rsmd.getColumnCount(); List<Map> list=new ArrayList(); while(rs.next()){ Map map=new HashMap(); // 取数据 结果集合的 显示列名 不是 table 中的字段名 for(int i=1;i<=count;i++){ map.put(rsmd.getColumnName(i),rs.getString(rsmd.getColumnName(i))); } list.add(map); } // 善后 释放资源 rs.close(); stmt.close(); conn.close(); return list; } } |