本文将以mysql数据库为例,讲述通过ConnectionPool And DataSource访问数据库的方法。 准备工作:
在mysql下,假设使用username=admin&password=ditty:
mysql> use test; mysql> create table t_test(id int,name char(20),address char(20)); mysql> insert into t_test valuess(1,'ditty','Dalian GaoxinStreet No.6'); mysql> insert into t_test valuess(2,'diuiu','Dalian Software Pack'); mysql> commit;
下载mm.mysql的jar包,假定为mm.mysql-2.0.7-bin.jar,拷贝到Weblogic_Home/weblogic700/server/lib
修改启动脚本,在Classpath中添加%WL_HOME%\server\lib\mm.mysql-2.0.7-bin.jar;。 具体步骤:
ConnectionPool与DataSource的联合使用,步骤:
1.建立一个连接池(ConnectionPool).
a.在Console的菜单中选择,Services/JDBC/Connection Pools
b.点击Configure a new JDBC Connection Pool...
c.Configuration/General Tab:
Name:TestPool
URL:jdbc:mysql://localhost/test
Driver Classname:org.gjt.mm.mysql.Driver
Properties(key=values):username=admin
password=ditty
d.点击Create
e.Configuration/Connections Tab:
Initial Capacity:1
Maximum Capacity:5
其余默认
f.点击Apply
g.Targets/Servers Tab:
选择myserver,点击Apply!如果,没有报错,即证明创建连接池成功! 2.将连接池映射成数据源(DataSource).
a.在Console的菜单中选择,Services/jdbc/Data Sources
b.点击Configure a new JDBC Data Source...
c.Configuration Tab:
Name:TestDataSource
JNDI Name:TestDS
Pool Name:TestPool
d.点击Create
e.Targets/Services Tab:
选择myserver,点击Apply!如果,没有报错,即证明创建数据源成功!
3.一个简单的例子(其中涉及到JNDI的问题,其实很简单,就那么几步,记住就OK!): import java.sql.*;
import javax.sql.*;
import javax.naming.*;
import java.util.*;
public class DataSourceTest
{
public static void main(String[] args)
{
Statement stmt = null;
Connection conn = null;
ResultSet res = null;
try{
Hashtable env = new Hashtable();
env.put(InitialContext.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
env.put(InitialContext.PROVIDER_URL,"t3://localhost:7001");
env.put(InitialContext.SECURITY_PRINCIPAL,"system");
env.put(InitialContext.SECURITY_CREDENTIALS,"weblogic");
InitialContext ctx = new InitialContext(env);
DataSource ds = (DataSource)ctx.lookup("TestDS");
conn = ds.getConnection();
stmt = conn.createStatement();
res = stmt.executeQuery("select * from t_test");
System.out.println("id------name------address");
while(res.next()){
int id = res.getInt(1);
String name = res.getString(2);
String address = res.getString(3);
System.out.println(id+"------"+name+"------"+address);
}
}
catch(SQLException sse){
System.out.println("sql error!");
}
catch(NamingException e){
System.out.println("namingexception");
}
finally{
try{
stmt.close();
conn.close();
}
catch(SQLException se){}
}
}
}
在mysql下,假设使用username=admin&password=ditty:
mysql> use test; mysql> create table t_test(id int,name char(20),address char(20)); mysql> insert into t_test valuess(1,'ditty','Dalian GaoxinStreet No.6'); mysql> insert into t_test valuess(2,'diuiu','Dalian Software Pack'); mysql> commit;
下载mm.mysql的jar包,假定为mm.mysql-2.0.7-bin.jar,拷贝到Weblogic_Home/weblogic700/server/lib
修改启动脚本,在Classpath中添加%WL_HOME%\server\lib\mm.mysql-2.0.7-bin.jar;。 具体步骤:
ConnectionPool与DataSource的联合使用,步骤:
1.建立一个连接池(ConnectionPool).
a.在Console的菜单中选择,Services/JDBC/Connection Pools
b.点击Configure a new JDBC Connection Pool...
c.Configuration/General Tab:
Name:TestPool
URL:jdbc:mysql://localhost/test
Driver Classname:org.gjt.mm.mysql.Driver
Properties(key=values):username=admin
password=ditty
d.点击Create
e.Configuration/Connections Tab:
Initial Capacity:1
Maximum Capacity:5
其余默认
f.点击Apply
g.Targets/Servers Tab:
选择myserver,点击Apply!如果,没有报错,即证明创建连接池成功! 2.将连接池映射成数据源(DataSource).
a.在Console的菜单中选择,Services/jdbc/Data Sources
b.点击Configure a new JDBC Data Source...
c.Configuration Tab:
Name:TestDataSource
JNDI Name:TestDS
Pool Name:TestPool
d.点击Create
e.Targets/Services Tab:
选择myserver,点击Apply!如果,没有报错,即证明创建数据源成功!
3.一个简单的例子(其中涉及到JNDI的问题,其实很简单,就那么几步,记住就OK!): import java.sql.*;
import javax.sql.*;
import javax.naming.*;
import java.util.*;
public class DataSourceTest
{
public static void main(String[] args)
{
Statement stmt = null;
Connection conn = null;
ResultSet res = null;
try{
Hashtable env = new Hashtable();
env.put(InitialContext.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
env.put(InitialContext.PROVIDER_URL,"t3://localhost:7001");
env.put(InitialContext.SECURITY_PRINCIPAL,"system");
env.put(InitialContext.SECURITY_CREDENTIALS,"weblogic");
InitialContext ctx = new InitialContext(env);
DataSource ds = (DataSource)ctx.lookup("TestDS");
conn = ds.getConnection();
stmt = conn.createStatement();
res = stmt.executeQuery("select * from t_test");
System.out.println("id------name------address");
while(res.next()){
int id = res.getInt(1);
String name = res.getString(2);
String address = res.getString(3);
System.out.println(id+"------"+name+"------"+address);
}
}
catch(SQLException sse){
System.out.println("sql error!");
}
catch(NamingException e){
System.out.println("namingexception");
}
finally{
try{
stmt.close();
conn.close();
}
catch(SQLException se){}
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货