永发信息网

java连接数据库问题

答案:5  悬赏:10  手机版
解决时间 2021-05-03 20:00

Connection  a=DriverManager.getConnection();

Connection是一个借口;DriverManager.getConnection()这个方法会产生一个Connection的对象,为什么不用Connection的实现类的实际类型接受,而且Connection肯定又实现类吧

 

最佳答案
Connection 并没有相应实现类, getConnection()是用内部类的形式生成的
全部回答

这就是多态

... 大汗淋漓、举个例子、具体步骤如下:

1.注册驱动
Class.forname("com.mysql.jdbc.Driver");//这是连接mysql数据库的驱动


2.获取数据库连接
java.sql.Connection conn=java.sql.DriverManager.getConnection();


3.获取表达式
java.sql.Statement stmt=conn.createStatement("jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK","root","null");//三个参数分别是数据库连接的URL,用户名,密码


4.执行SQL
java.sql.ResultSet rs=stmt.executeQuery("select * from user");


5.显示结果集里面的数据
while(rs.next()){
System.out.println(rs.getInt(1));
System.out.println(rs.getString("username"));
System.out.println(rs.getString("password"));
System.out.pringln();
}

//执行插入语句
//stmt.executeUpdate("insert into user values(1,'中文','345')");


6.释放资源
rs.close();
stmt.close();
conn.close();

这是一个典型的依赖接口编程的例子,oop的一个重要并且很基本的原则,就是依赖接口编程,而不要去依赖实现编程,这样可以减少类之间的耦合,调用者无需关心得到的每个具体的connection对象的内部实现细节,只需要知道这个对象所实现的connection接口定义的那些方法是可以被使用的就行。当具体类发生变化时,只要接口保持不变,调用者就不需要做出改变,这也可以理解为oo中封装特性的延伸。 通常来说你会在成熟的程序或者框架代码中看到大量的依赖接口编程的例子。

这个使用到了多态的原理,

因为你DriverManager.getConnection();连接的数据库可以是SQL SERVER也可以是Oracle

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样减肥有效
快乐邮递员怎么的奖品?
学生的高中生活是不是很累啊?
QQ会员和超级QQ的等级加速是叠加的吗?
RTRRT 130分求个新手卡能用的
求一些关于穿越三国的完结小说
聊天,打完字发送后立即闪跑是咋了
QQ西游激活码是不是绑定帐号的
谁有很多申请好的QQ号用于开DNF箱子
为什么我会自卑?
我的CSOL屏幕特黑?怎样调才能变亮?
泰安市钢琴学会怎么去啊,有知道地址的么
吃过羊肉多久之后才能喝酸奶
美空全图大概多少张
怎么样才能让自己静下心来学习和工作?
推荐资讯
笔记本带的无线网络模块是什么
怎样把这个http://www.45451.net/流氓主页清
想把手机绑定删掉,请问怎么删?
我的e63怎么打不开JAva游戏了???????
求飞车里面的一首歌
张杰的新专辑什么时候出来啊?
天津哪有学跑酷的地?联系方式?
10月20日 为什么更新后进不了游戏(家里)网
长春的土特产是什么,长春的特产有什么
为什么有时候我们对别人的小恩小惠感激不尽,
有部电视剧.里面的主角叫阿发.被老婆甩了.带
为什么我的电脑上传不了相片了?以前可以的,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?