跪求EJB连接数据库

alfinken 2004-07-25 08:56:15
开发工具是jbuilder+weblogic8.1+sqlserver2000,
请问如何创建在一实体bean里连接数据库
...全文
131 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
D99 2004-08-06
  • 打赏
  • 举报
回复
先配置connection pool,用SQL server的地址、驱动、端口什么的,然后配置data source,在配置data source的时候,使用TicsJNDI作为JNDI名字,pool name使用SQL server的这个pool名字,在程序中就能够用lookup了
moulinjie1 2004-08-03
  • 打赏
  • 举报
回复
上面是调用数据源,你的weblogic 应用服务器没有配数据源
gdufo 2004-08-03
  • 打赏
  • 举报
回复
ds = (javax.sql.DataSource) ctx.lookup("TicsJNDI");
这句是什么意思,请给出详细说明
TicsJNDI是自己定义的吗?如是,是如何写的,请说明,谢谢!
gdufo 2004-08-03
  • 打赏
  • 举报
回复
ds = (javax.sql.DataSource) ctx.lookup("TicsJNDI");
这句是什么意思,请给出详细说明
TicsJNDI是自己定义的吗?如是,是如何写的,请说明,谢谢!
duoshanx 2004-07-26
  • 打赏
  • 举报
回复
package com.wfgs.tics;

/**
* <p>Title: 税收信息采集系统</p>
* <p>Description: 数据访问BEAN</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: 潍坊市国家税务局</p>
* @author not attributable
* @version 040724
*/

public class DbADO {
javax.naming.Context ctx = null;
javax.sql.DataSource ds = null;
java.sql.Connection con = null;
java.sql.Statement stmt = null;
java.sql.ResultSet rs = null;
public DbADO() {
try {
ctx = new javax.naming.InitialContext();
ds = (javax.sql.DataSource) ctx.lookup("TicsJNDI");
}
catch (javax.naming.NamingException ex) {
ex.printStackTrace();
}

}

/**
* 连接数据库
* @return boolean
*/
public boolean connect() {
boolean isConnect = false;
try {
con = ds.getConnection();
if (con != null) {
isConnect = true;
}
}
catch (java.sql.SQLException ex) {
ex.printStackTrace();
}
return isConnect;
}

/**
* 根据sql取得数据集
* @param sql String
* @return ResultSet
*/
public java.sql.ResultSet getSelect(String sql) {
try {
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
}
catch (java.sql.SQLException ex) {
ex.printStackTrace();
}
return rs;
}

/**
* 执行更新语句,并返回所影响的行数
* @param sql String
* @return int
*/
public int getUpdate(String sql) {
int num = 0;
try {
stmt = con.createStatement();
num = stmt.executeUpdate(sql);
}
catch (java.sql.SQLException ex) {
ex.printStackTrace();
}
return 0;
}

/**
* 取得记录数
* @param sql String
* @return int
*/
public int getRsTotal(String sql) {
int num = 0;
try {
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) num++;
}
catch (java.sql.SQLException ex) {
ex.printStackTrace();
}
return 0;
}

/**
* 释放资源,关闭数据库
*/
public void close() {
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (con != null) con.close();
}
catch (java.sql.SQLException ex) {
ex.printStackTrace();
}
finally {
con = null;
}
}
}
===========================
package com.wfgs.tics;

/**
* <p>Title: 税收信息采集系统</p>
* <p>Description: 提供有关任务集信息</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: 潍坊市国家税务局</p>
* @author not attributable
* @version 040721
*/

public class RwjInfo {
DbADO dbAdo = new DbADO();
String nsrSbh = "";
java.util.Hashtable rwjList = new java.util.Hashtable();

/**
* 根据税号取得任务集信息列表,注意现在没有加条件
* 7.25 23:40
* Hashtable的结构为
* BH_RWJXX,MC_RWJXX
* @param NsrSbh String
*/

public RwjInfo(String nsrSbh) {
this.nsrSbh = nsrSbh;
dbAdo.connect();
try {
String sqlQuery = "SELECT BH_RWJXX FROM BB_RWJXX WHERE (XYBZ = 1) ";
java.sql.ResultSet rs = dbAdo.getSelect(sqlQuery);
while (rs.next()) {
rwjList.put(rs.getString("BH_RWJXX"), rs.getString("MC_RWJXX"));
}
}
catch (Exception ex) {
ex.printStackTrace();
}
finally {
dbAdo.close();
}

}
/**
* 取得任务集信息
* @return Hashtable
*/
public java.util.Hashtable getRwjxxBhList() {
return rwjList;
}

/**
* 取得任务集数目
* @return int
*/
public int getRwjCount() {
return rwjList.size();
}
}
===================

以上是我写的代码,大家看看有什么问题吗?

1,220

社区成员

发帖
与我相关
我的任务
社区描述
企业软件 中间件技术
社区管理员
  • 中间件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧