什么是耦合?
- 程序间的调用关系,一个系统的程序间不能不存在耦合关系,或高或低或松散。
public class JdbcDemo1 {
public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
//1.组册驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//2.获取连接
//使用java.sql下的Connection不使用com.mysql.jabc下的Connection
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
//3.获取操作数据库的预处理对象
PreparedStatement pstm = conn.prepareStatement("select * from user");
//4.执行Sql语句并获取返回结果
ResultSet rs = pstm.executeQuery();
//5.封装结果集
while (rs.next()) {
System.out.println(rs.getString("name"));
}
//6.释放资源
rs.close();
pstm.close();
conn.close();
}
}
- 已上是JDBC的使用,其中DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 的new对象就是程序间的依赖。
- 开发中应遵循的原则是:编译时不依赖,运行时才依赖。
- 解决依赖关系:使用反射创建
//1.组册驱动(反射的方式)
Class.forName("com.mysql.jdbc.Driver")
- 使用反射创建类引发的新问题:反射的类是固定的
- 解决方案:使用配置文件,通过读取配置文件来反射创建类对象