Statement stmt= connect.createStatement(); 不明白这个为什么这么写?这个体现的是java里面的哪些知识呀
Connectionconnect=DriverManager.getConnection("jdbc:mysql://localhost:3306/ab","root"...
Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/ab" ,"root","1")这个也不明白为什么这么写?这条体现了哪些知识点呀
展开
1个回答
展开全部
这是利用工厂方法去实例化一个数据库连接,其中 DriverManager 就是工厂。
因为数据库的类型很多,每种数据库的jdbc访问的方式有各不相同,java不能
直接帮你把所有的数据库jdbc都写好,所以利用工厂方式。提供公共的接口,让
不同的厂家去实现。在调用的时候,只要利用动态的加载不同厂家的具体实现的
jdbc,比如mysql的数据库jdbc驱动,利用工厂方法,就可以得到mysql的数据库连接
而不需要知道,mysql的jdbc具体是怎么实现的,因为数据库供应商已经帮助你做了
具体实现。同样connect.createStatement()也是利用类似的方式。
因为数据库的类型很多,每种数据库的jdbc访问的方式有各不相同,java不能
直接帮你把所有的数据库jdbc都写好,所以利用工厂方式。提供公共的接口,让
不同的厂家去实现。在调用的时候,只要利用动态的加载不同厂家的具体实现的
jdbc,比如mysql的数据库jdbc驱动,利用工厂方法,就可以得到mysql的数据库连接
而不需要知道,mysql的jdbc具体是怎么实现的,因为数据库供应商已经帮助你做了
具体实现。同样connect.createStatement()也是利用类似的方式。
追问
谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询