单独使用jdbc编程问题
来源:互联网 发布:交换机端口隔离作用 编辑:程序博客网 时间:2024/05/22 00:11
单独使用jdbc编程问题
Public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { //加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); //通过驱动管理类获取数据库链接 connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8", "root", "111111"); //定义sql语句 ?表示占位符 String sql = "select * from user where username = ?"; //获取预处理statement preparedStatement = connection.prepareStatement(sql); //设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值 preparedStatement.setString(1, "王五"); //向数据库发出sql执行查询,查询出结果集 resultSet = preparedStatement.executeQuery(); //遍历查询结果集 while(resultSet.next()){ System.out.println(resultSet.getString("id")+" "+resultSet.getString("username")); } } catch (Exception e) { e.printStackTrace(); }finally{ //释放资源 if(resultSet!=null){ try { resultSet.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(preparedStatement!=null){ try { preparedStatement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(connection!=null){ try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
jdbc编程步骤
- 加载数据库驱动
- 创建并获取数据库链接
- 创建jdbc statement对象
- 设置sql语句
- 设置sql语句中的参数(使用preparedStatement)
- 通过statement执行sql并获取结果
- 对sql执行结果进行解析处理
- 释放资源(resultSet、preparedstatement、connection)
jdbc编程总结
- 数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。
- Sql语句在代码中硬编码,造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码
- 使用preparedStatement向占有位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护。
- 对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便
1 0
- 单独使用jdbc编程问题
- 单独的JDBC编程
- 对原生态jdbc(单独使用jdbc开发)问题总结
- 使用jdbc编程存在的问题
- django 1.10 ORM单独使用的问题
- 为什么使用JDBC数据库编程
- mongodb下的BSON包的单独编译使用问题
- [Cocos2d-x]schedule单独使用无法执行的问题
- MYsql单独使用mybatis事务处理的无法回滚问题
- openwrt上单独安装python-light使用json的问题
- JDBC 使用以及注意问题
- Sharding-JDBC使用问题记录
- 单独数问题
- 【MyBatis】1:JDBC编程存在的问题
- mybatis解决jdbc编程的问题
- Mybatis---原生态JDBC编程的问题
- 单独使用CRecordSet
- 单独使用CBCGPPropList类
- eclipse导入acm.jar时遇到的问题
- Spring Web MVC框架(二) 控制器
- LeetCode-12. Integer to Roman
- Opencv历史发展和vs开发平台
- 结合hokuyo的UST-10LX激光雷达在turtlebot上建图
- 单独使用jdbc编程问题
- leetcode 56. Merge Intervals
- 机房问题
- 338. Counting Bits -Medium
- 观察者模式
- SSM框架整合
- android UiAutomator在清除文本时遇到中文的解决办法
- webpack基础入门
- CCF201412-4 最优灌溉(80分)