各种数据库的链接代码

package com.testJSP.servlet;

import javax.sql.*;
import javax.naming.*;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class DBConnection extends HttpServlet {
 
 
 public void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 
  response.setContentType("text/html; charset=gbk");
  request.setCharacterEncoding("gbk");
  response.setCharacterEncoding("gbk");
  PrintWriter out = response.getWriter();
  
 Connection conn = null;
 PreparedStatement ps = null;
 String sql = "";
 int flag = - 1;
 
  String username = request.getParameter("username");
  HttpSession httpsession = request.getSession();
 
  httpsession.setMaxInactiveInterval(60*24*60);
  httpsession.setAttribute("usersession", username);// 设置Session
 
  
  String link = request.getParameter("link");
  String email = request.getParameter("email");
  String tel = request.getParameter("tel");
  String address = request.getParameter("address");
  String postmessage = request.getParameter("postmessage");

  try{
    conn = getConnection(); //sql2000连接
  //conn =  setupConn(); //mysql连接
  //conn =  getConnectionOracle();//Oracle连接
     sql = "insert into message values(?,?,?,?,?,?)";
  ps = conn.prepareStatement(sql);
  ps.setString(1,username);
  ps.setString(2, link);
  ps.setString(3, email );
  ps.setString(4, tel);
  ps.setString(5, address);
  ps.setString(6, postmessage);
  flag = ps.executeUpdate();
  System.out.println(flag);
  if(flag>0)
  {
   //out.print("<script>" + "alert(/"提交成功!/");"
   //  + "window.location.href=/"Email.jsp?username="+username+"/";</script>");//返回Email.jsp并传用户名
   
    out.print("<script>" + "alert(/"提交成功!/");"
    + "window.location.href=/"Email.jsp/";</script>");//返回Email.jsp 把username保存到session
   
   //out.print("<script>" + "alert(/"提交成功!/");</script>");
   //request.getRequestDispatcher("Email.jsp").forward(request,response); // 重定向页面跳转
   //response.sendRedirect("Email.jsp"); //用response.sendRedirect向页面跳转
  }
  }catch (Exception e) {
   System.out.println("添加 出错");
   e.printStackTrace();
  } finally {
    closeResource(null, ps, conn);
  }
  
 }
 
 
 
  
  
 /**
  * sqlserver2000数据库连接
  * @return
  */
 
 public static Connection getConnection()throws SQLException,IllegalAccessException{
  Connection conn= null;
  try{
  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
 
  String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=POST";
  String user = "sa";
  String password = "123456";
  conn = DriverManager.getConnection(url, user, password);
     System.out.println("数据库连接成功!");
  }catch(ClassNotFoundException e)
  {System.out.println("数据库连接失败:"+e.getMessage());}
  catch (SQLException ex){
  System.out.println("SQLException: " + ex.getMessage());
  System.out.println("SQLState: " + ex.getSQLState());  
  }
  return conn;
 }
 /**
  * Oracle数据库连接
  * @return
  */
 
    public static Connection getConnectionOracle(){
     
       Connection con = null;
       String url = "jdbc:oracle:thin:@localhost:1521:POST";
     
   try {
     Class.forName("oracle.jdbc.driver.OracleDriver");
     con = DriverManager.getConnection(url,"MY","1234567");
            System.out.println("Oracle数据库连接成功!");
       }catch(Exception e){
       
        System.out.println("数据库连接出错:"+e);
        e.printStackTrace();
       }
       return con;
   }
   
    /**
  * mysql数据库连接
  * @return
  */
   public Connection setupConn(){
      try{
       //定义数据库连接的驱动程序
       Class.forName("org.gjt.mm.mysql.Driver");
       String url = "jdbc:mysql://localhost:3306/post?";
       //使用DriverManager类的getConnection()方法建立连接
       Connection conn = DriverManager.getConnection(url+"user=root&password=root" +
    "&useUnicode=true&characterEncoding=gb2312");//连接数据源
       return conn;
        }catch(Exception e){
        e.printStackTrace();
        System.out.println("数据库连接失败!" + e);
        return null;
         }
        }
   /**
   * Aceess数据库连接,要配置事件源
   * @return
   */
    public Connection getConnectionAceess(){
       try{
        //定义数据库连接的驱动程序
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        String url = "jdbc:odbc:POST;";
        //使用DriverManager类的getConnection()方法建立连接
        Connection conn = DriverManager.getConnection(url);//连接数据源
        return conn;
         }catch(Exception e){
         e.printStackTrace();
         System.out.println("数据库连接失败!" + e);
         return null;
          }
         }
   /**
    * 关闭数据库资源
    * @param rs
    * @param stmt
    * @param conn
    */
 
 public static void closeResource(ResultSet rs,Statement stmt,Connection conn){
  if(rs!=null){
   try {
    rs.close();
    rs = null;
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  if(stmt!=null){
   try {
    stmt.close();
    stmt = null;
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  if(conn!=null){
   try{
    conn.close();
    conn = null; 
   }catch(SQLException ex) {
    System.err.println(ex.getMessage());
    ex.printStackTrace();
    System.out.println("-------------------数据库关闭失败!");
   }
  }  
 } 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值