您的位置:首页 > 编程语言 > Java开发

java JDBC 通过物理连接数据库和通过获取数据库连接池进行链接

2017-05-12 15:16 651 查看
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 {

// 基本的连接数据库方式

Connection conn =
null;

Statement stmt =
null;

// 注册 JDBC 驱动器

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"));

}

}

// 使用数据库连接池进行获取数据库的连接

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("连接数据库失败\n");

} else {

System.out.println("连接数据库成功\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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息