当前位置: 首页 > 工具软件 > SailFin > 使用案例 >

SailFin中设置MySQL

斜烈
2023-12-01
目的:部署到SailFin平台上的Web工程调用MySQL数据库
步骤:
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"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="java.util.*" %>
<%@ page session="false" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<body>
<%
out.print("My test begins.<br>");
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)+"<br>");
}
stmt.close();
stmt = null;
conn.close();
conn = null;
out.print("My test ends.<br>");
}
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!");
}
}
%>
</body>
</html>

8. 设置web.xml
<resource-ref>
<description>DB Connection</description>
<res-ref-name>MySql_DS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

9. 打包成.war文件,部署到SailFin。浏览器中输入http://127.0.0.1:8080/DBCP/test.jsp,即可看到结果。

OK。

参考:http://hi.baidu.com/wtltsdwqt/blog/item/e14a9f13bb6ecc856538db14.html
 类似资料: