美文网首页
JDBC程序回顾

JDBC程序回顾

作者: Stringer | 来源:发表于2016-11-19 01:12 被阅读23次

    程序代码:

    package cn.ztc.mybatis.jdbc;
    import java.sql.*;
    
    public class JdbcTest01 {
        
        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:8010/test?characterEncoding=utf-8","root","wazl2012");
                //创建preparedStatement,?为占位符
                String sql="select * from user where username = ?";
                preparedStatement=connection.prepareStatement(sql);
                //通过setString设置参数
                preparedStatement.setString(1, "王五");
                resultSet=preparedStatement.executeQuery();
                while(resultSet.next()){
                    //操作结果集,通过getString获得该列的值
                    System.out.println(resultSet.getString("id")+" "+resultSet.getString("username")+" "+resultSet.getString("sex"));
                }
            }catch(Exception e){
                e.printStackTrace();
            }finally {
                //对资源依次关闭
                if(resultSet!=null){
                    try {
                        resultSet.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
                if(preparedStatement!=null){
                    try {
                        preparedStatement.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
                if(connection!=null){
                    try {
                        connection.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    
    

    JDBC问题总结:

    1.数据库连接,使用时就创建,不使用就立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库的性能
    解决方案:使用数据库的连接池

    2.将sql语句硬编码到java代码中,如果sql语句修改,需要重新编写java代码,不利于系统维护
    解决方案:将sql语句配置在xml配置文件中,即使sql变化,也不需要对重新编写java代码

    3.在向preparedStatement中设置参数时,占位符位置和对应值硬编码在java代码中,不利于系统维护
    解决方案:将sql语句、占位符、参数全配置在xml配置文件中

    4.从resultSet中遍历结果集数据时,将获取表的字段进行硬编码
    解决方案:将查询的结果集自动映射成java对象

    相关文章

      网友评论

          本文标题:JDBC程序回顾

          本文链接:https://www.haomeiwen.com/subject/rbmspttx.html