package com.nhfc99.login;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
//import javax.activation.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import com.MySQL.jdbc.Statement;
public class ConnectSql {
public void connectMysql() throws ClassNotFoundException, SQLException, NamingException {
// 基本的連接數(shù)據(jù)庫方式
Connection conn = null;
Statement stmt = null;
// 注冊 JDBC 驅(qū)動器
Class.forName("com.mysql.jdbc.Driver");
// 打開一個連接
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mysql?characterEncoding=utf8&useSSL=true",
"root", "****");
if (conn == null) {
System.out.println("連接失敗");
} else {
System.out.println("連接成功");
String sql = "SELECT * FROM user";
stmt = (Statement) conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.println("User = " + rs.getString("User") + "\n");
System.out.println("Host = " + rs.getString("Host"));
}
}
// 使用數(shù)據(jù)庫連接池進行獲取數(shù)據(jù)庫的連接
Context context = new InitialContext();
Context envContext = (Context) context.lookup("java:comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/mysqlds");
Connection conn = ds.getConnection();
if (conn == null) {
System.out.println("連接數(shù)據(jù)庫失敗\n");
} else {
System.out.println("連接數(shù)據(jù)庫成功\n");
}
}
}
//context.xml配置
/*
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true">
<Resource
name="jdbc/mysqlds"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWaite="10000"
username="root"
password="****"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/TestDatabase" />
</Context>
*/