注册jdbc驱动程序的三种方式

来源:互联网 发布:可达矩阵求解过程 编辑:程序博客网 时间:2024/05/16 12:04

1.快速了解三种注册方式

  1. Class.forName(“com.mysql.jdbc.Driver”);

  2. DriverManager.registerDriver(new com.mysql.jdbc.Driver())

  3. System.setProperty(“jdbc.drivers”,”com.mysql.jdbc.Driver”);

注释:

  第二种与第三种注册的方法看起来更加的直接与好理解。第一种方法是通过Class把类先装载到java的虚拟机中,并没有创建Driver类的实例。

第二种与第一种方法可以脱离jdbc的驱动进行编译,第二种方法不可以的,它一定要有jdbc的驱动才可以通过编译,这样对我们的程序就有很多的不好之处,为程序换数据库会带来麻烦

  第一种的好处在于能够在编译时不依赖于特定的JDBC Driver库,也就是减少了项目代码的依赖性,而且也很容易改造成从配置文件读取JDBC配置,从而可以在运行时动态更换数据库连接驱动。


2、比较常用Class.forName(“com.mysql.jdbc.Driver”)

try{       Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动       String url="jdbc:mysql://localhost:3306/databasename";//数据库连接子协议       Connection conn=DriverManager.getConnection(url,"username","password");       Statement stmt=conn.createStatement();       ResultSet rs=stmt.executeQuery("select * from tablename");       while(rs.next()){//不断指向下一条记录            System.out.println("DeptNo:"+rs.getInt(1));            System.out.println("\tDeptName:"+rs.getString(2));            System.out.println("\tLOC:"+rs.getString(3));}             rs.close();    stmt.close();    conn.close();}catch(ClassNotFoundException e){   System.out.println("找不到指定的驱动程序类!");}catch(SQLException e){    e.printStackTrace();}

3、看起来比较直观的一种方式,注册相应的db的jdbc驱动,3在编译时需要导入对应的lib

try{       new com.mysql.jdbc.Driver();//创建driver对象,加载数据库驱动       String url="jdbc:mysql://localhost:3306/databasename";//数据库连接子协议       Connection conn=DriverManager.getConnection(url,"username","password");       Statement stmt=conn.createStatement();       ResultSet rs=stmt.executeQuery("select * from tablename");       while(rs.next()){//不断指向下一条记录            System.out.println("DeptNo:"+rs.getInt(1));            System.out.println("\tDeptName:"+rs.getString(2));            System.out.println("\tLOC:"+rs.getString(3));}             rs.close();    stmt.close();    conn.close();}catch(SQLException e){    e.printStackTrace();}

还可以按如下方式注册:

DriverManager.register(new com.mysql.jdbc.Driver());但是该方式注册了两次驱动,所以不使用

4、通过系统的属性设置System.setProperty(“jdbc.driver”,”com.mysql.jdbc.Driver”);

try{       System.setProperty("jdbc.driver","com.mysql.jdbc.Driver");//系统属性指定数据库驱动       String url="jdbc:mysql://localhost:3306/databasename";//数据库连接子协议       Connection conn=DriverManager.getConnection(url,"username","password");       Statement stmt=conn.createStatement();       ResultSet rs=stmt.executeQuery("select * from tablename");       while(rs.next()){//不断指向下一条记录            System.out.println("DeptNo:"+rs.getInt(1));            System.out.println("\tDeptName:"+rs.getString(2));            System.out.println("\tLOC:"+rs.getString(3));}             rs.close();    stmt.close();    conn.close();}catch(SQLException e){    e.printStackTrace();}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 破净买入继续跌怎么办 国画颜色上错了怎么办 宝宝5个月脸一直开裂怎么办 宝宝冻脸怎么办小妙招 3岁小儿长期便秘怎么办 脚裂了怎么办小妙招 宝宝脸风吹裂了怎么办 宝宝脸被风吹裂了怎么办 小宝贝的手有时候抖怎么办 打球把手戳肿了怎么办 阴茎上皮肤皴了怎么办 手皮肤干燥起皮怎么办 一到冬天手脚冰凉怎么办 脸上的皮肤被搓掉了怎么办 皮肤的表皮搓掉了怎么办 固体水彩经常掉出来怎么办 画水彩纸皱了怎么办 画完水彩纸皱了怎么办 旗袍后面隐形拉链气包怎么办 电动缝纫机不往前走怎么办 衬衣领子磨烂了怎么办 白寸衣领变黄怎么办 黑衣领衣服洗发黄怎么办 白毛衣用84变黄怎么办 白色貂毛衣变黄怎么办 蓝色T恤衣领汗積洗不掉怎么办 蓝色t恤衣领汗积洗不掉怎么办 羽绒服在衣柜里放黄了怎么办 白羽绒服放久了泛黄怎么办 白色t恤领子发黄怎么办 身体爱出油衣服领子总爱脏怎么办 白色衣服衣领净洗后变红怎么办 棒球服衣领洗变形怎么办 挂盐水手肿了怎么办 衣服买大了肩宽怎么办 买来的衣服肩宽怎么办 素描揉擦之后的黑点怎么办 扭脖子响了一下怎么办 画的眼线容易掉怎么办 做完眼线后眼睛肿了怎么办 洗眼线眼睛肿了怎么办