java读取数据库加载驱动_Java-加载数据库驱动,取得数据库
连接
在Java中想要进⾏数据库操作,最重要的两个步骤就是加载数据驱动,然后取得数据库连接。
java的jdbc连接数据库1.加载 数据库驱动( Class.forName(String className) ):
因为Java是⼀种纯⾯向对象的编程语⾔,所以⼀切事物都可以看作是类或者类对象,数据库也是,Java正是通过JDBC将数据库抽象成为对象,然后对该对象进⾏操作。不同的是,数据库是本⾝存在的,不需要Java进⾏创建,我们要做的只是将⼀个正常运⾏的数据库实例在我们的Java程序中进⾏访问。
然⽽任何类在Java中正常运⾏都需要⼀个驱动器,⼀般的类的驱动器就是JVM本⾝,数据库程序是不依赖虚拟机驱动的程序,所以必须⾃⼰实现驱动器,这时候就⽤到了Class.forName(String className),这个⽅法就是⽤来⼿写驱动器的。这时⼜会有⼀个问题,类名是什么?
外部程序要被Java访问⾸先⼀点,该外部程序要有被Java调⽤的接⼝,并且有符合Java命名规则的类名。Java接⼝就是被JVM控制程序⾏为的Java驱动器,也就是JDBC。该接⼝是由数据库⼚商提供的,所以类名也是由数据库⼚商提供,像MySQL的命名为:
com.sql.jdbc.Driver。
forName的加载原理:
a.当程序运⾏之后,该接⼝的类名以及以及句柄会记录到该程序的进程信息中;
b.forName传⼊该类名之后会到操作系统中到具有该类名的线程,到对应的线程就会到该线程对应的驱动器,然后就将该驱动器加载到JVM中;
c.之后就可以在Java程序中通过类名调⽤该进程的功能。
当然,如果是⽤Eclipse的话,要先把JDBC驱动加载到运⾏环境中。
2.取得数据库连接( Connection(URL, USERNAME, PASSWORD) ):
forName加载完成后会发现这是个数据库类的驱动,之后会进⾏⼀些特殊操作。JDBC是⽤DriverManager类管理数据库驱动,⽽且DriverManager只⽤来管理JDBC驱动。加载完成的数据驱动会抽象成Java类型保存在DriverManager的静态变量driver中。JDBC规定,⼀个Java进程只能有⼀个JDBC驱动,⽽且数据库访问与HTTP协议的原理⼀样,也是要先建⽴连接。
之后DriverManager的静态同步⽅法getConnection⽅法利⽤driver建⽴与数据库的连接,该⽅法的第⼀个参数URL也必须参照数据库⼚商的规定,MySQL的写法为:jdbc:mysql://hostname:port/具体数据库
名,第⼆个和第三个参数是数据库⽤户名密码。该⽅法的返回值是⼀个Connection对象,Java程序通过该对象对数据库进⾏操作。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论