mrtom

一转眼一年多工作时间过去了,在这一年多里并未从事Java的开发,一直在弄C#方面的项目.

唉,最近不知道怎么的,突然想做Java方面的开发,但是从学校出来以后就基本上放弃了Java

以前学的很多东西都忘得差不多了,现在要重新拾起Java,现在想想还是从最简单的记

忆找起。下面是 ODBC 连接连接操作 Sql Server 2005 数据库的操作、增、删、改、查通

用类的实现!  希望对新手有些帮助,少走些弯路, 如有不对的地方,还请大家指正!

 

步骤如下:

  • 新建Web Project 项目
  • 勾选 Jsts1.0 或 Jsts1.1 的 Jar 包
  • 导入连接驱动 sqljdbc.jar 包
  • 新建包 com.db.common
  • 新建类 BaseDao

 注: 我是以本机为例,如果有需要将 localost  及 databaseName 换成对应的即可!

下面是全部代码:

package com.db.common;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;

import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;

/**
 * 数据库操作基类
 * @author Mr.Tom
 * @Date Nov 13, 2011
 */
public class BaseDao {

 private static final String DriverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
 private static final String ConnectUrl = "jdbc:sqlserver://localhost:1433;databaseName=taxcoal";
 private static final String UserName   = "sa";
 private static final String Password   = "123";
 
 private static Connection      conn = null;
 private static PreparedStatement ps = null;
 private static ResultSet         rs = null;
 
   
 /**
  * 注册驱动并获取连接
  * @Method GetConn
  */
 public static Connection GetConn()
 {
  try
  {
      Class.forName(DriverName);
      conn = DriverManager.getConnection(ConnectUrl, UserName, Password);
  }
  catch(Exception e)
  {
   conn = null;
   e.printStackTrace();
  }  
     return conn; 
 }
 
 /**
  * 通用查询
  * @Method QueryMap
  * @param sql
  * @param values
  */
 public static Map[] QueryMap(String sql,Object[] values)
 {
  conn = GetConn();
  Map[] map = null;
  
  try
  {
   ps = conn.prepareStatement(sql);
   if(values != null && values.length != 0)
   {
    for (int i = 0; i < values.length; i++)
    {
     ps.setObject((i+1), values[i]);
    }
   }
   Result rs = ResultSupport.toResult(ps.executeQuery());
   map = rs.getRows();
  }
  catch(Exception e)
  {
   map = null;
   e.printStackTrace();
  }
  finally
  {
   Free();
  }
  return map;
 }
 
 /**
  * 通用增、删、改
  * @Method ExcuteBySql
  * @param sql
  * @param values
  */
 public static int ExcuteBySql(String sql,Object[] values)
 {
  conn = GetConn();
  int result = 0;
  
  try
  {
   ps = conn.prepareStatement(sql);
   if(values != null && values.length != 0)
   {
    for (int i = 0; i < values.length; i++)
    {
     ps.setObject((i+1), values[i]);
    }
   }
   result = ps.executeUpdate(sql);
  }
  catch(Exception e)
  {  
   result = 0;
   e.printStackTrace();
  }
  finally
  {
   Free();
  }
  return result;
 }
 
 /**
  * 释放资源
  * @Method Free
  */
 private static void Free()
 {
  try
  {
   if(rs != null){ rs.close();}
   if(ps != null){ ps.close();}
   if(conn != null){ conn.close();}
  }
  catch(Exception e)
  {
   e.printStackTrace();
  }
 }
}

分类:

技术点:

相关文章: