关于ubuntu下java连接mysql数据库
这是数据库连接的代码packagecom.lzg.dbc;importjava.sql.Connection;importjava.sql.DriverManager;p...
这是数据库连接的代码
package com.lzg.dbc;import java.sql.Connection;import java.sql.DriverManager;public class DatabaseConnection{ private String DBDRIVER = "org.git.mm.mysql.Driver"; private String DBURL = "jdbc:mysql://localhost:3306/lzg"; private String DBUSER = "root"; private String DBPASS = "root"; private Connection conn = null; public DatabaseConnection() throws Exception{ try{ Class.forName(DBDRIVER); this.conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS); }catch(Exception e){ throw e; } } public Connection getConnection(){ return this.conn; } public void close() throws Exception{ if(this.conn != null){ try{ this.conn.close(); }catch(Exception e){ throw e; } } }}
我想问为什么对class.forName()进行注册之后这个程序才会正确对数据库进行操作,而加上的话又会提示Exception in thread "main" java.lang.ClassNotFoundException: org.git.mm.mysql.Driver
我的程序目录如下
是把那一行进行注释才会正确运行
刚才又把那个Dirver改成com.mysql.jdbc.Driver运行正常了,为什么那个org.git.mm.mysql.Driver不能用,以前也用过也成功的啊,还有class.forname究竟有什么用,感觉程序有没有它都能正常运行。 展开
package com.lzg.dbc;import java.sql.Connection;import java.sql.DriverManager;public class DatabaseConnection{ private String DBDRIVER = "org.git.mm.mysql.Driver"; private String DBURL = "jdbc:mysql://localhost:3306/lzg"; private String DBUSER = "root"; private String DBPASS = "root"; private Connection conn = null; public DatabaseConnection() throws Exception{ try{ Class.forName(DBDRIVER); this.conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS); }catch(Exception e){ throw e; } } public Connection getConnection(){ return this.conn; } public void close() throws Exception{ if(this.conn != null){ try{ this.conn.close(); }catch(Exception e){ throw e; } } }}
我想问为什么对class.forName()进行注册之后这个程序才会正确对数据库进行操作,而加上的话又会提示Exception in thread "main" java.lang.ClassNotFoundException: org.git.mm.mysql.Driver
我的程序目录如下
是把那一行进行注释才会正确运行
刚才又把那个Dirver改成com.mysql.jdbc.Driver运行正常了,为什么那个org.git.mm.mysql.Driver不能用,以前也用过也成功的啊,还有class.forname究竟有什么用,感觉程序有没有它都能正常运行。 展开
1个回答
2014-11-15
展开全部
class.forName是通过类名显示装载类
至于你说的org哪个类,以前是某个组织开发的,后来被mysql收购,两个都可用
现在主要还是用mysql的驱动
报错的话你进包你看看有没有
至于你说的org哪个类,以前是某个组织开发的,后来被mysql收购,两个都可用
现在主要还是用mysql的驱动
报错的话你进包你看看有没有
更多追问追答
追问
有的,全都有,就那个报错,这是为什么
追答
org.gjt.mm.mysql.Driver
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询