
1、首先我们通过数据库可视化工具navicate for mysql,新建一个数据库,名字叫test新建一张表。
2、添加id,name字段,点击保存,设置表名称为user。
3、最终数据库及表创建成功。
4、然后我们添加一条数据。
5、下载java mysql connector驱动,通过maven添加依赖即可。
classforname()只是加载类库而已,语法上是可以的。
加载的是一个驱动类,但一般一个驱动类对应一种数据库,如:Sql,oracle是不同驱动类的。
你说的:(“还补充一个问题,在用classforname()注册managedriverr前,managerdariver是没有驱动器注册是吗,当注册了那个driver时,就用哪个驱动器进行连接是吗,如果classforname()能写多个时,在连接时驱动器时,只要找到第一个符合连接的驱动器时,就用那个驱动器进行连接”)
这个类似数据库连接池,可以自己看看。
目的是为了实例化对象。
ClassforName("")返回的是类
ClassforName("")newInstance()返回的是object
刚才提到,ClassforName("");的作用是要求JVM查找并加载指定的类,如果在类中有静态初始化器的话,JVM必然会执行该类的静态代码 段。而在JDBC规范中明确要求这个Driver类必须向DriverManager注册自己,即任何一个JDBC Driver的 Driver类的代码都必须类似如下:
public class MyJDBCDriver implements Driver {static {DriverManagerregisterDriver(new MyJDBCDriver());}}既然在静态初始化器的中已经进行了注册,所以我们在使用JDBC时只需要ClassforName(XXXXXX);就可以了。
we just want to load the driver to jvm only, but not need to user the instance of driver, so call ClassforName(xxxxxxx) is enough, if you call ClassforName(xxxxxxx)newInstance(), the result will same as calling ClassforName(xxxxxxx), because ClassforName(xxxxxxx)newInstance() will load driver first, and then create instance, but the instacne you will never use in usual, so you need not to create it
总结:jdbc数据库驱动程序最终的目的,是为了程序员能拿到数据库连接,而进行jdbc规范的数据库 *** 作。拿到连接的过程是不需要你自己来实例化驱动程序的,而是通过 DriverMangergetConnection(string str); 。因此一般情况下,对于程序员来说,除非特别需求,是不会自己去实例化一个数据库驱动使用里面的方法的。
以上就是关于JDBC连接数据库的步骤都有哪些全部的内容,包括:JDBC连接数据库的步骤都有哪些、java驱动器连接数据库1、Java加载数据库连接驱动,为什么要用Class.forName()方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)