public DAO(){
try {
//加载驱动
Class.forName("net.sourceforge.jtds.jdbc.Driver"); //加载一个创建的驱动
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null,"数据库驱动加载失败!"+e.getMessage());
}
}
//建立数据库链接
public static Connection getConn(){
Connection conn=null;
try {
String url="jdbc:jtds:sqlserver://localhost:1433/db_MySQLserver";
//String url1="jdbc:jtds:sqlserver://localhost:1433//db_MySQLserver"; //;databasename=db_MySQLserver";
String username="Administrator";
String password="";
conn=DriverManager.getConnection(url,username,password);
System.out.println(conn);
return conn;
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null,"数据库驱动加载失败!"+e.getMessage());
return null;
}
}
public static void main(String[] args) {
DAO.getConn();
}
1433端口默认是sql server的端口,但是貌似你用的是mysql,默认端口是3306。另外mysql默认是root作为用户名,密码也不是空吧。
这个没法具体回答,因为不光是看代码能看出你的问题,要结合你的系统和数据库的配置。建议你问问你的同事,把你的电脑给他们看看,几分钟也就搞定了。
我用的sqlserver2008数据库
哪位大牛帮解答下 比较着急,,,,
你的驱动路径是错的,我博客里有完整的Java连接sqlserver实例。
把你的这段代码:Class.forName("net.sourceforge.jtds.jdbc.Driver"); //加载一个创建的驱动
不要写在构造函数里,单独写成静态代码块比如:
static{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
你在主函数中这样的调用是有问题的,因为你没有创建对象,所以不会执行构造方法。所以驱动就没有创建
main方法根本就没有调取 数据库链接
Dao是不是你底下方法的实例吗
给你建议 可以将 Dao方法和getconnect方法直接写在一起,写成静态方法
直接用类调新写成的方法
数据库链接 一定要写在一起是比较合理的