通过JDBC程序分析其中存在的问题

1.数据库的准备

create table account(
	id int primary key auto_increment,
	name varchar(40),
	money float
)character set utf8 collate utf8_general_ci;
insert into account(name,money) values('aaa',1000);
insert into account(name,money) values('bbb',1000);
insert into account(name,money) values('ccc',1000);

在这里插入图片描述

2.jdbc实现查询

package com.hh.jdbc;

import java.sql.*;

public class JDBCDemo1 {
    public static void main(String[] args)  {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            //1.注册驱动
            //DriverManager.registerDriver(new com.MysqL.jdbc.Driver());
            Class.forName("com.MysqL.jdbc.Driver");
            //2.获取连接
            conn = DriverManager.getConnection("jdbc:MysqL://localhost:3306/spring","root","123");
            //3.获取操作数据库的预处理对象
            String sql = "select * from account";
            ps= conn.prepareStatement(sql);
            //4.执行结果,得到结果集
            rs=ps.executeQuery();
            //5.遍历结果集
            while (rs.next()){
                System.out.println(rs.getString("name"));
            }
        } catch (ClassNotFoundException e) {
            e.printstacktrace();
        } catch (sqlException e) {
            e.printstacktrace();
        } finally {
            //6.释放资源
            if(rs!=null){
                try {
                    rs.close();
                } catch (sqlException e) {
                    e.printstacktrace();
                }
            }
            if(ps!=null){
                try {
                    ps.close();
                } catch (sqlException e) {
                    e.printstacktrace();
                }
            }

            if(conn!=null){
                try {
                    conn.close();
                } catch (sqlException e) {
                    e.printstacktrace();
                }
            }
        }
    }
}

3.分析出现的问题:

1.耦合:
 程序键的依赖关系
2.包括
 类之间的依赖关系
 方法间的依赖关系
3.实际开发中:
 应该做到编译期不依赖,运行期依赖
4.解耦的思路:
 第一步:使用反射创建对象,从而避免new关键字
 第二步:通过配置文件获取创建对象的全限定类名

在这里插入图片描述

相关文章

连接数据库的方式:第一种方式:ODBC:开放数据库连接是微软...
JDBCRequest 使用VariableNamesmysql:数据库连接池对象var...
 1.JDBCDBC(JavaDataBaseConnectivity):Java数据库连接技术...
1.需要jar包的支持:java.sqljavax.sqlmysql-conneter-java....
1.简介Activiti是一个业务流程管理(BPM)框架,它是覆盖了业务...
1.JDBC体系系统一组规范:接口JDBC接口(API)包括两个层次:...