package connect; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Dao { //连接数据库的三大要素 final String URL = "jdbc:mysql://localhost:3306/sousuo"; final String USER = "root"; final String PWD = "chaoben666"; Connection connection; public Connection getConnection(){ try{ Class.forName("com.mysql.cj.jdbc.Driver"); }catch(ClassNotFoundException e){ e.printStackTrace(); } try{ connection = DriverManager.getConnection(URL, USER, PWD); this.connection = connection; }catch(SQLException e){ e.printStackTrace(); } return connection; } }在这段代码中,为何提示我this.connection = connection;不起作用
时间: 2024-02-14 14:05:29 浏览: 109
sql.rar_MySQLConnection_sqljdbc4-3.0.jar
在这段代码中,提示你this.connection = connection;不起作用可能是因为你没有正确地定义connection变量。在这种情况下,this.connection和connection指向的是同一个对象,因此将connection赋值给this.connection并没有任何效果。你可以尝试在Dao类的顶部定义connection变量,然后直接在getConnection()方法中使用它,而不使用this关键字,例如:
```
public class Dao {
//连接数据库的三大要素
final String URL = "jdbc:mysql://localhost:3306/sousuo";
final String USER = "root";
final String PWD = "chaoben666";
Connection connection;
public Connection getConnection(){
try{
Class.forName("com.mysql.cj.jdbc.Driver");
}catch(ClassNotFoundException e){
e.printStackTrace();
}
try{
connection = DriverManager.getConnection(URL, USER, PWD);
}catch(SQLException e){
e.printStackTrace();
}
return connection;
}
}
```
这样做应该可以解决你遇到的问题。
阅读全文