微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过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关键字
 第二步:通过配置文件获取创建对象的全限定类名

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐