步骤:
1. 安装MySQL数据库,下载及相关可参考:http://www.mysql.cn/
2. 将MySql的JDBC驱动拷贝到GlassFish安装目录的lib文件夹下
mysql-connector-java-5.1.6-bin.jar
3. 创建连接池。
启动SailFin服务器,进入管理控制台。在左侧点击“Resources”选项---"JDBC"---"Connection Pools",点击“new”按钮。
Name: MySql_Pool
Resource Type: javax.sql.DataSource
Database Vendor: MySQL
点击“下一步”进入下一设置界面,设置:
Datasource Classname: com.mysql.jdbc.jdbc2.optional.MysqlDataSource
Additional Properties,主要设置以下几项:
* DatabaseName:写入你的数据库名称
* User:root
* Password:
* ServerName:数据库所在的主机IP
* url: jdbc:mysql://localhost:3306/DatabaseName (这项很重要。且程序中用到某个数据库中的某些表,那么在MySQL客户端建立的数据库的名字必须为此处所设置的DatabaseName)
设置好点击"save"
4. 选中这个“连接池”在“general”选项卡中点击“Ping”按钮进行测试。测试通过后点击"JDBC Resources"开始创建数据源。
5. 点击"new"按钮
* JDNI Name: MySql_DS
* Pool Name: MySql_Pool(就是刚才配置的那个)
下边可以进行配置使用默认的就OK了!点击"save"
6. 打开Eclipse,编写一个工程测试数据库连接是否成功。首先,把要用到的包导入项目中:
mysql-connector-java-3.1.12-bin.jar-------------MySql驱动
appserv-rt.jar-----------所在地GlassFish安装目录的lib文件夹下
appserv-admin.jar-------------所在地GlassFish安装目录的lib文件夹下
imqjmsra.jar----------所在地GlassFish安装目录的lib\install\applications\jmsra
7. 编写test.jsp,如下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="java.util.*" %>
<%@ page session="false" %>
<%
out.print("My test begins.
");
Context ctx = null;
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.enterprise.naming.SerialInitContextFactory");
ht.put(Context.PROVIDER_URL,"localhost:8080");
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
try {
ctx = new InitialContext(ht);
DataSource ds = (DataSource)ctx.lookup("MySql_DS");
conn = ds.getConnection();
stmt = conn.createStatement();
String strSql = "select * from user";
rs = stmt.executeQuery(strSql);
while(rs.next())
{
out.println(rs.getString(2)+"
");
}
stmt.close();
stmt = null;
conn.close();
conn = null;
out.print("My test ends.
");
}
catch(Exception e) {
out.println("Error!!");
}
finally {
try{
ctx.close();
}
catch(Exception e) {
out.println("ctx ERR!");
}
try {
if(rs != null)
rs.close();
}
catch(Exception e) {
out.println("rs ERR!");
}
try {
if(stmt != null)
stmt.close();
}
catch(Exception e) {
out.println("stmt ERR!");
}
try {
if(conn != null)
conn.close();
}
catch(Exception e) {
out.println("conn ERR!");
}
}
%>
8. 设置web.xml
9. 打包成.war文件,部署到SailFin。浏览器中输入http://127.0.0.1:8080/DBCP/test.jsp,即可看到结果。
OK。
参考:http://hi.baidu.com/wtltsdwqt/blog/item/e14a9f13bb6ecc856538db14.html