jdbcDemo及问题总结
2018-01-18 01:40
302 查看
import java.sql.SQLException; public class JDBCDemo{ 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/mysqlDemo?characterEncoding=utf-8","username","password"); //定义sql语句?表示占位符 String sql = "select * from user where username = ?"; //获取预处理statement preparedStatement = connection.prepareStatement(sql); //设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值 prepareStatement.setString(1,"王五"); //向数据库发出sql执行查询,查询结果集 resultSet = prepareStatement.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问题总结如下:
数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题
Sql语句在代码中硬编码,造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码
使用preparedStatement向占有位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护
对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便
相关文章推荐
- mybatis学习之传统JDBC编程中的问题总结
- 原生态jdbc程序中问题总结
- Mybatis之对原生态JDBC程序中问题总结(1)
- iOS开发小记:关于环信Demo3.0的使用总结以及昵称和头像问题的研究与解决
- 对原生态jdbc程序中问题总结
- Mybatis学习笔记(一)——对原生jdbc中问题的总结
- 对原生态jdbc程序中的问题总结
- jdbc出现的问题总结
- 1.原生态JDBC编程详解与问题总结
- 一次JDBC连接泄露问题的排查过程总结
- MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- jdbc连接sql server2000数据库问题总结
- (转)MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- SpringBoot+Mybatis学习Demo问题总结1
- Android Geofence的学习(三)总结、Demo和问题
- J2EE开发 原始JDBC开发中的问题总结
- JDBC无封装下的标准代码和JDBC问题总结-V1.0
- Demo_JDBC_实现一个用户登陆的功能并改进sql的注入问题
- JDBC操作数据库的问题总结