package com.mysql.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class DBConnection {
private static DataSource ds=null;
private static Connection con=null;
//使用JDBC连接数据库
public static Connection getCon_jdbc(){
try{
//定义url,指定MySQL数据库端口号和数据库名
String url="jdbc:mysql://localhost:3306/bookOnline";
//定义用户名和密码
String username="root";
String password="1226";
//加载MysQL数据库的JDBC驱动
Class.forName("com.mysql.jdbc.Driver").newInstance();
//创建连接
con=DriverManager.getConnection(url, username, password);
return con;
}
catch(Exception e){
System.out.println("数据库连接异常:"+e.getMessage());
return null;
}
}
//使用数据源连接MysQL数据库
public static Connection getCon_dataSource(){
try{
InitialContext ctx=new InitialContext();
//该处的数据库bookOnline是前文数据源配置里的数据库
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/bookOnline");
con=ds.getConnection();
return con;
}
catch(Exception e){
System.out.println("数据库连接异常:"+e.getMessage());
return null;
}
}
//关闭数据库连接
public void closeCon(){
try{
con.close();
}
catch(Exception e){
System.out.println("数据库连接关闭异常:"+e.getMessage());
}
}
//测试数据库连接
public static void main(String args[]){
Connection conn=null;
DBConnection dbC=new DBConnection();
conn=dbC.getCon_jdbc();
try{
//创建语句
Statement st=conn.createStatement();
//查询语句
String sql="select * from user";
//查询数据集
ResultSet rs=st.executeQuery(sql);
int i=0;
while(rs.next()){
i++;
System.out.println(i+" "+rs.getString("userName"));
}
}
catch(SQLException e){
e.printStackTrace();
}
//注意 最后关闭数据库连接
finally{dbC.closeCon();}
}
}