Mithun Deshan
Mithun Deshan

Reputation: 83

Howo can I connect to database with Java

I'm new to Java and I want to connect with MySQL local server, but it's throwing an exception error. How can I fix the code?

Connection information:

Lport:3306
database name= siba_1
table name= test_1

Code:

package java_recap;
import java.sql.*;

public class Java_recap {   


    public static void main(String[] args) {
      try{
        Class.forName("com.mysql.jdbc.Driver");
        Connection 
con=DriverManager.getConnection("jdbc:mqsql://localhost:3306/siba_1","root","");
        Statement stn=con.createStatement();
        ResultSet rs=stn.executeQuery("select * from test_1");
        while(rs.next()){
            System.out.println(rs.getString(1)+" "+rs.getString(2));
        }
        }
    catch(Exception e){
            System.out.println("e");
      }
    }
}

Upvotes: 2

Views: 101

Answers (1)

Partho
Partho

Reputation: 2725

DriverManager is a old way of doing things. if you still want to use DriverManger then:

Need mysql dependency add jar on classpath or use maven like below :

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>

Now Let's see how we can connect to our database and execute a simple select-all through a try-with-multiple-resources:

String sql = "select * from test_1";
String connectionUrl = "jdbc:mysql://localhost:3306/siba_1? 
serverTimezone=UTC";

try (Connection conn = DriverManager.getConnection(connectionUrl, 
"root", ""); 
    PreparedStatement ps = 
conn.prepareStatement(sql); 
    ResultSet rs = ps.executeQuery()) {

    while (rs.next()) {
         System.out.println(rs.getString(1)+" "+rs.getString(2));

        // do something with the extracted data...
    }
 } catch (SQLException e) {
// handle the exception
}

Other way : The better way is to get a DataSource either by looking one up that your app server container already configured for you:

Context context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/siba_1");

or instantiating and configuring one from your database driver directly:

MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setUser("root");
dataSource.setPassword("");
dataSource.setServerName("localhost");

and then get connections from it, same as above:

Connection conn = dataSource.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from test_1");
...
rs.close();
stmt.close();
conn.close();

Upvotes: 1

Related Questions