每当我调用一个新函数时,我都需要运行查询“ USE database”

时间:2019-05-18 08:53:32

标签: java mysql database jdbc

每次我调用新函数时,都会显示错误

  

“未选择数据库”。

以前不是这种情况,我只需要打一次"USE database"

我已将 DriverManager 替换为 MySqlDataSource。

我在程序开始时通过调用InitializeData()运行"USE database"查询。

public class Database {

public static MysqlDataSource dataSource;

static void InitializeData()
{
     dataSource = new MysqlDataSource();
     dataSource.setUser("root");
     dataSource.setPassword("zxcvbnm@123");

    try{
    Connection con = Main.getConnection();
    Statement existence = con.createStatement();
    boolean q1 = existence.execute("CREATE DATABASE IF NOT EXISTS votingdata");

    Statement st = con.createStatement();
    st.execute("USE votingdata");
    ...........................................continue.........

这是Main.getConnection()函数

public static Connection getConnection(){
    Connection con=null;
    try {
        con = Database.dataSource.getConnection();
    }
    catch(SQLException e){
        System.out.print("Connection lost   "+e.getMessage());
    }
    return con;

1 个答案:

答案 0 :(得分:0)

尝试为您的dbname添加适当的设置

dataSource.setDatabaseName("YOUR_DB__NAME"); 

-

static void InitializeData()
{
  dataSource = new MysqlDataSource();
  dataSource.setUser("root");
  dataSource.setPassword("zxcvbnm@123");
  dataSource.setDatabaseName("YOUR_DB__NAME"); 


 try{
  .....