JDBC
来源:互联网 发布:tomcat怎么修改端口 编辑:程序博客网 时间:2024/06/16 21:11
JDBC
JDBC(java data base connectivity) : java数据库连接技术。
JDBC是java的一个特性,他几乎可以让你连接所有的关系型数据库。
Java连接数据库的方式
- ODBC(桥连) 基于C,仅在Windows平台。通用型强,但效率低,用于一下小程序或测试。
- JDBC(直连) 基于java,高度的一致性、简单性
JDBC连接步骤
- 声明url String url = “jdbc:oracle:thin:@localhost:1521:orcl”;
- 注册驱动类 Class.forName(“oracle.jdbc.OracleDriver”);
- 创建Statement对象 Connection conn = DriverManager.getConnection(url, user, password);
- 执行sql
- 处理结果集
- 关闭连接
//JDBC连接的URL String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String sql = "select * from employees where department_id = 90"; try { //注册驱动 Class.forName("oracle.jdbc.OracleDriver"); //连接数据库 String user = "hr"; String password = "88888888"; Connection conn = DriverManager.getConnection(url, user, password); //创建一个Statement Statement stmt = conn.createStatement(); //执行sql ResultSet rs = stmt.executeQuery(sql); //处理结果 System.out.println("连接成功!"); while(rs.next()){ String employee_id = rs.getString("employee_id"); String salary = rs.getString("salary"); System.out.println(employee_id+"----"+salary); } //关闭连接 if(rs != null){ rs.close(); } if(stmt != null){ stmt.close(); } if(conn != null){ conn.close(); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Statement与PreparedStatement
创建与执行
- Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
- PreparedStatement ps = conn.prepareStatement(sql);
绑定sql的参数
ps.executeUpdate();
PreparedStatement会经过预编译,能防止sql注入。对于执行结构相同的sql时,PreparedStatement执行效率比较高。当Statement执行的sql有大量的字符串拼接时,应选用PreparedStatement
ps一旦绑定了SQL,此ps就不能执行其他的Sql,即只能执行一条SQL命令。stmt 可以执行多条SQL命令
execute、executeUpdate、executeQuery
execute允许执行查询语句、更新语句、DDL语句。
返回值为true时,表示执行的是查询语句,可以通过getResultSet方法获取结果;返回值为false时,执行的是更新语句或DDL语句,getUpdateCount方法获取更新的记录数量
executeUpdate用于执行INSERT、UPDATE 或 DELETE 语句。返回值是更新的记录数量
executeQuery用于执行SELECT语句。返回一个ResultSet结果集
通常我们没有必要使用execute方法来执行SQL语句,而是使用executeQuery或executeUpdate更适合,但是在不清楚SQL语句的类型时则只能使用execute方法来执行该SQL语句
阅读全文
0 0
- jdbc
- JDBC
- jdbc
- JDBC
- jdbc
- JDBC
- JDBC
- JDBC
- JDBC
- JDBC
- JDBC
- JDBC
- JDBC
- JDBC
- jdbc
- JDBC
- JDBC
- jdbc
- 第八篇 委托和事件
- Reactor模式,或者叫反应器模式
- 6-函数
- 域名和本机ip地址映射
- 英雄联盟眼位分析
- JDBC
- Git学习
- linux免认证登录
- select、poll、epoll之间的区别总结
- HDU 1003 Max Sum Java
- 使用Unicode字符集出现的错误总结
- 鼠标右键事件
- css 字体样式设置大全
- Error:Execution failed for task :app:transformClassesWithInstantRunForDebug解决方案