美文网首页程序员
原生JDBC开发详解及问题总结(一)

原生JDBC开发详解及问题总结(一)

作者: pjmike | 来源:发表于2017-08-13 10:15 被阅读0次

原生JDBC开发详解及问题总结(一)

本篇文章主要介绍JDBC开发过程,程序代码需要注意的问题及原生JDBC自身存在的问题总结。


JDBC基本编程步骤

  • 加载数据库驱动
  • 创建并获取数据库连接
  • 创建JDBC statement对象或者preparedStatement预编译对象
  • 设置sql语句
  • 设置sql语句中的参数(使用preparedStatement时使用)
  • 通过statement对象获取结果集(resultSet)
  • 使用结果集resultSet的getString等方法获取查询结果
  • 释放资源,从建立对象的反方向释放(resultSet,prepareStatement/Statement,Connection)

JDBC问题总结

1.数据库连接,使用时就创建,不使用时就立即释放,对数据库进行频繁连接开启和关闭,造成资源浪费,影响数据库性能。
设想:使用数据库连接池管理数据库连接。
2.将数据库硬编码到Java代码中,如果sql语句修改,需要重新编译Java代码,不利于维护。
设想:将sql语句配置在xml配置文件中。
3.向preparedStatement中设置参数,对占位符号设置和设置参数,硬编码在Java代码中,不利于系统维护。
设想:将sql语句及占位符和参数全部配置在xml中。
4.从resultSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,不利于系统维护。
设想:将查询的结果集,自动映射成Java对象。
5.需对JDBC编程可能产生的异常进行捕捉处理并正确关闭资源。
设想:采用ORM模型

以下是JDBC创建的基础程序代码:

    public static void main(String[] args)  {
        ResultSet re = null;
        Statement st = null;
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/Newdata","root","12345678");//创建数据库连接
            //获取Statement
             st = conn.createStatement();
             //statement执行sql语句获得结果集
             re = st.executeQuery("select * from students");
            while(re.next()) {
                System.out.println(re.getString("name")+" "+re.getInt("age")+" "+re.getString("sports"));
            }//遍历查询出的结果
    
        } catch(ClassNotFoundException ex) {    
            ex.printStackTrace();
        } catch (SQLException e) {
            System.out.println("get a error");
            e.printStackTrace();
        } finally {
            //关闭资源
            try {
                if(re!=null)
                    re.close();
                    re = null;
                if(st!=null)
                    st.close();
                    st = null;
                if(conn!=null)
                    conn.close();
                    conn = null;
            } catch(SQLException ex) {
                ex.printStackTrace();
            }
        }
    }

相关文章

  • 原生JDBC开发详解及问题总结(一)

    原生JDBC开发详解及问题总结(一) 本篇文章主要介绍JDBC开发过程,程序代码需要注意的问题及原生JDBC自身存...

  • Mybatis----(1)

    主要内容1、对原生态jdbc程序(单独使用jdbc开发)问题总结2、mybatis框架原理3、mybatis入门程...

  • mybatis----基础

    基础知识 安装 对原生态jdbc程序中问题总结 环境 java环境:jdk jdbc程序 使用jdbc查询mysq...

  • Mybatis:传统jdbc问题以及mybatis的解决方案(一

    1.1 分析JDBC操作问题 JDBC问题总结: 原始jdbc开发存在的问题如下: 1、 数据库连接创建、释放频繁...

  • mybatis入门之增删改查

    一、原生态JDBC程序中问题的总结 1.1 JDBC程序 需求:使用jdbc查询mysql数据库中用户的记录Sta...

  • MyBatis入门基础(一)

    一:对原生态JDBC问题的总结 话不多说,先看看原始的JDBC程序代码,看看这样的代码存在什么问题。 上面代...

  • Mybatis学习笔记汇总(包括源码和jar包)

    博客整理 Mybatis学习笔记(一)——对原生jdbc中问题的总结 Mybatis学习笔记(二)——Mybati...

  • 原生JDBC开发

    原生JDBC的开发 初始化驱动Class.forName("com.mysql.jdbc,Driver") 获取连...

  • JDBC篇

    JDBC简介 JDBC使用详解

  • Mysql jdbc

    详解链接:详解链接 1、JDBC API 开发公司:原SUN公司,现Orcal公司。 简介:提供了可调...

网友评论

    本文标题:原生JDBC开发详解及问题总结(一)

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