JDBC(一)
来源:互联网 发布:卖房用什么软件 编辑:程序博客网 时间:2024/06/05 10:45
- . 创建简单t_user测试表
create table t_user( f_id int, f_name varchar2(30), f_age int, f_job varchar2(30));
- 建立数据库数据操作(DML)的工具类
public class MJdbcTemplate { /** * 执行数据库的查询操作 * @param sql * @param params */ public List<Map<String,Object>> queryForList(String sql, Object... params) { Connection conn = null; PreparedStatement pst = null; ResultSet rs=null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String user = "scott"; String password = "pan"; conn = DriverManager.getConnection(url, user, password); pst = conn.prepareStatement(sql); if(params!=null){ for (int i = 0; i < params.length; i++) { pst.setObject(i + 1, params[i]); } } rs = pst.executeQuery(); //得到元数据对象 ResultSetMetaData metaData = rs.getMetaData(); //得到查询语句列的数量 int columncount=metaData.getColumnCount(); //返回结果集 List<Map<String,Object>> result=new ArrayList<Map<String,Object>>(); while (rs.next()){ Map<String,Object> map=new HashMap<String,Object>(); for(int i=1;i<=columncount;i++){ String label=metaData.getColumnLabel(i); Object object=rs.getObject(label); map.put(label, object); } result.add(map); } return result; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); throw new RuntimeException(e); } finally { if(rs !=null){ try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (pst != null) { try { pst.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } /** * 执行数据的更新(insert|update|delete)操作 * @param sql * @param params * @return 返回受影响的行数 */ public int executeUpdate(String sql, Object ... params) { Connection conn = null; PreparedStatement stm = null; try { //1.加载驱动类 Class.forName("oracle.jdbc.OracleDriver"); //2.建立连接 String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String user = "scott"; String password = "scott"; conn = DriverManager.getConnection(url, user, password); //3.创建SQL语句操作对象(句柄) stm = conn.prepareStatement(sql); //4.通过SQL语句操作对象执行操作 //循环替换参数 if (params != null) { for (int i = 0; i < params.length; i++) { stm.setObject(i + 1, params[i]); } } //executeUpdate:执行数据的INSERT, UPDATE, or DELETE return stm.executeUpdate(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } finally { //5.释放资源(关闭连接) if (stm != null) { try { stm.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }}
- 测试代码
public static void main(String[] args){ MJdbcTemplate template=new MJdbcTemplate();// String sql="insert into t_user values (?,?,?,?)";// int count=template.executeUpdate(sql, 12,"adminn12",31,"java12");// System.out.println(count); String sql="select f_id,f_age from t_user where f_id = ?"; List<Map<String,Object>> queryForList = template.queryForList(sql, 11); for (Map<String, Object> map : queryForList) { Set<String> keySet = map.keySet(); for (String key : keySet) { System.out.print(key+":"+map.get(key)+" "); } System.out.println(""); } }
0 0
- JDBC 概述(一)
- JDBC 概述(一)
- JDBC 概述(一)
- JDBC 概述(一)
- JDBC 概述(一)
- JDBC笔记(一)
- JDBC基础(一)
- JDBC(一)介绍
- JDBC(一)
- jdbc详解(一)
- 深入JDBC(一)
- JDBC学习(一)
- JDBC编程(一)
- JDBC(一)
- JDBC初探(一)
- JDBC(一)
- JDBC(一)
- JDBC学习(一)
- 需要学习和实践的内容
- USACO-Section 4.1 Beef McNuggets (DP)
- helloChart 圆柱图
- spring IOC 和DI
- 书写是为了更好的思考
- JDBC(一)
- 程序员必知的8大排序
- Android 支付宝接入流程
- Android shape方法绘制图形的方法和属性解析
- lightoj 1062 Crossed Ladders
- memset()函数用法简介
- Spring整合activiti配置processEngine
- OpenCV学习笔记(一)(二)(三)(四)(五)
- extjs正则表达式验证