//取得数据源
package com.tyy.pub;
import java.sql.*;
import javax.naming.*;
import java.util.Hashtable;public class DbCon implements java.io.Serializable { public static Connection getConnection()throws Exception{
try{
Hashtable hs=new Hashtable();
hs.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
hs.put(Context.PROVIDER_URL,"t3://localhost:7003");
Context ctx=new javax.naming.InitialContext(hs);
javax.sql.DataSource ds=(javax.sql.DataSource)ctx.lookup("hop");
return ds.getConnection();
}catch(Exception ex){
ex.printStackTrace();
throw ex;
}
}
}
package com.tyy.pub;
import java.sql.*;
import javax.naming.*;
import java.util.Hashtable;public class DbCon implements java.io.Serializable { public static Connection getConnection()throws Exception{
try{
Hashtable hs=new Hashtable();
hs.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
hs.put(Context.PROVIDER_URL,"t3://localhost:7003");
Context ctx=new javax.naming.InitialContext(hs);
javax.sql.DataSource ds=(javax.sql.DataSource)ctx.lookup("hop");
return ds.getConnection();
}catch(Exception ex){
ex.printStackTrace();
throw ex;
}
}
}
/*
package com.tyy.ejb;import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.ejb.CreateException;
import com.tyy.pub.Contract;
import com.tyy.pub.HbContracts;
import com.tyy.pub.AdvertItems;
import java.util.*;
import com.tyy.pub.DbCon;
import com.tyy.pub.ChangeGB;
import java.sql.*;
import java.sql.Date;public class AddSessionBean
implements SessionBean {
SessionContext sessionContext;
Connection con;
public void ejbCreate() throws CreateException {
try{
con=DbCon.getConnection();
}catch(Exception e){
throw new CreateException(e.getMessage());
}
} public void ejbRemove() {
} public void ejbActivate() {
} public void ejbPassivate() {
} public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
}//辅助方法 设置合同主表预编译SQL参数 private void setCoValue(PreparedStatement pstm,Contract co){
.
.
.
} //辅助方法 设置合同号薄表预编译SQL参数
private void setHcValue(PreparedStatement pstm,HbContracts hbc){
.
.
.
} //辅助方法 设置号薄广告表预编译SQL参数
private void setItValue(PreparedStatement pstm,AdvertItems it){ .
.
.
}
//主要的业务逻辑 订立一个合同,关联到3个表
public void addContract(Contract co, Collection hc, Collection ait) throws Exception{
PreparedStatement hbpstm = null;
PreparedStatement itPstm = null;
try{
//添加合同主表
PreparedStatement pstm =
con.prepareStatement("insert into contracts (contract_id,name,address,line_nbr,city_code,qy_code,area_code," +
"post_code,link_tele,link_man,fax_nbr,advert_man,contract_fee,contract_date,input_date,input_man" +
",modi_date,handle_id,ename,eaddress,follow_man,follow_fee,follow_date,deduct_type,team_code)" +
" values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,)");
setCoValue(pstm, co);
pstm.executeUpdate();
pstm.close(); //添加合同号薄表
Iterator hcit = hc.iterator();
while (hcit.hasNext()) {
HbContracts hbc = (HbContracts) hcit.next(); hbpstm = con.prepareStatement("insert into hb_contracts(contract_id,hb_name,new_id,prior_hb,book_count,prior_fee,discount" +
",contract_fee,less_fee)values(?,?,?,?,?,?,?,?,?)");
hbpstm.setString(1, co.getContract_id());
setHcValue(hbpstm, hbc);
hbpstm.executeUpdate();
hbpstm.close();
System.out.println("添加合同号薄表");
}
//添加号薄广告表
Iterator it = ait.iterator();
while (it.hasNext()) {
AdvertItems adIt = (AdvertItems) it.next();
itPstm = con.prepareStatement("insert into advert_items (contract_id,hb_name,advert_code,advert_type,advert_fee" +
",cust_class,spec_need) values (?,?,?,?,?,?,?)");
itPstm.setString(1, co.getContract_id());
setItValue(itPstm, adIt);
itPstm.executeUpdate();
itPstm.close();
System.out.println("添加号薄广告表");
} }catch(Exception e){
e.printStackTrace();
}
finally{
try{
if(hbpstm!=null){
hbpstm.close();
}
if(itPstm!=null){
itPstm.close();
}
if(con!=null){
con.commit();
con.close();
}
}catch(Exception e){
}
}
}
}调用第一次可以正确的添加,调用第2次就报哪个错误,重起weblogic后又可以添加了。*/
另:要是使用了,怎么打开呢?我是菜鸟:)
con.commit();
con.close();
}
注意con.commit();