设为首页 收藏本站
查看: 609|回复: 0

[经验分享] jsp 调用sql server数据源

[复制链接]

尚未签到

发表于 2016-11-1 08:40:49 | 显示全部楼层 |阅读模式
import java.sql.*;
import java.util.*;
import com.microsoft.jdbcx.sqlserver.SQLServerDataSource;
/**
* @author Biggie
*
* Class Function:数据库连接bean,取sql server JDBC数据源,这个数据源也可以用
* Tomcat,WebLogic,resin等提供
* 支持各种容器及平台
*  @version 1.0A
* */
public class DBConnect {
file://You Host IP
private String strHostAddress="127.0.0.1";
file://Host Port
private int intHostPort=1433;
file://UserName
private String strUserName="sa";
file://PassWord
private String strPassWord="";
file://DataBase Name
private String strDataName="dac";
file://Max Connection
private int intMaxConnection=10;
private Connection con=null;
private Statement stmt=null;
private ResultSet rs=null;
file://JDBC source
private SQLServerDataSource source=null;
ArrayList ArrayRs=new ArrayList();
/**
  * @param 构造函数注册JDBC驱动程序
  * */
public DBConnect(){
  try{
   if(source==null){
    source=new SQLServerDataSource();
    source.setDatabaseName(strDataName);
    source.setServerName(strHostAddress);
    source.setPortNumber(intHostPort);
    source.setUser(strUserName);
    source.setPassword(strPassWord);
    file://source.setHostProcess(intMaxConnection);
   
   }
  }catch(Exception e){
   System.out.println("open database error:"+e.getMessage());
  }
}
/**
  * @param executeQuery查询数据库方法
  * @param 每条ArrayList记录存为String[] 数组
  * @return ArrayList
  * @exception SQLException
  */
public ArrayList executeQuery(String strSql) throws SQLException {
  rs=null;
  try{
   con=source.getConnection();
   stmt=con.createStatement();
   rs=stmt.executeQuery(strSql);
   
   ResultSetMetaData rsmd=rs.getMetaData();
   int numberOfColumns = rsmd.getColumnCount();
   
   file://判断是否为空
   if(!ArrayRs.isEmpty()){
    ArrayRs.clear();
   }
   /*
    * 将每条记录写入数组
    * 将数组放在ArrayList里
    */
    while(rs.next()){
     String[] strArrayTemp=new String[numberOfColumns];
     for(int i=0;i<numberOfColumns;i++){
      if(rs.getObject(i+1)==null){
       strArrayTemp= "";
      }else{
       strArrayTemp=rs.getObject(i+1).toString();
      }
     }
     ArrayRs.add(strArrayTemp);
    }
    return (ArrayList)ArrayRs.clone();
  }catch(Exception e){
   System.out.println("query error:" + e.getMessage());
  }finally{
   if (stmt != null) {
    stmt.close();
   }
   if (con != null) {
    con.close();
   }
  }
  return ArrayRs;
}
/**
  * @param executeInsert插入数据方法
  * @return 插入条数是否成功(boolean)
  */
public boolean executeInsert(String strSql) throws SQLException{
  rs=null;
  try{
   con=source.getConnection();
   stmt=con.createStatement();
   
   con.setAutoCommit(true);
   int i=stmt.executeUpdate(strSql);

   if(i==1){
    return (true);
   }
  }catch(Exception e){
   System.out.println("Insert error:"+e.getMessage());
  }finally{
   if (stmt != null) {
    stmt.close();
   }
   if (con != null) {
    con.close();
   }
  }
  return (false);
}
/**
  * @param executeUpdate修改数据方法
  * @return 修改数据数(int)
  */
public int executeUpdate(String strSql) throws SQLException{
  rs=null;
  int j=0;
  try{
   con=source.getConnection();
   stmt=con.createStatement();
   con.setAutoCommit(false);
   
   j=stmt.executeUpdate(strSql);
   if(j>0){
    con.commit();
   }else{
    con.rollback();
   }
  }catch(Exception e){
   System.out.println("update error:"+e.getMessage());
  }finally{
   if (stmt != null) {
    stmt.close();
   }
   if (con != null) {
    con.close();
   }
  }
  return j;
}
/**
  * @param executeDelete删除数据方法
  * @return 删除数据数(int)
  */
public int executeDelete(String strSql) throws SQLException{
  rs=null;
  int j=0;
  try{
   con=source.getConnection();
   stmt=con.createStatement();
   
   con.setAutoCommit(false);
   j=stmt.executeUpdate(strSql);
   
   if(j>0){
    con.commit();
   }else{
    con.rollback();
   }
  }catch(Exception e){
   System.out.println("Delete error:"+e.getMessage());
  }finally{
   if (stmt != null) {
    stmt.close();
   }
   if (con != null) {
    con.close();
   }
  }
  return j;
}
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-294049-1-1.html 上篇帖子: 如何优化SQL Server数据库查询 下篇帖子: 【技术小结】sql server 调用webservice
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表