Java访问sql server数据库工具

  1 package com.dao;
  2
  3 import java.sql.*;
  4 import java.util.ArrayList;
  5 import java.util.List;
  6
  7 import com.sun.jmx.snmp.Timestamp;
  8
  9 public abstract class BaseDao {
 10
 11     String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
 12     String url = "jdbc:sqlserver://localhost:1433;database=NewsManagerSystem";
 13     String user = "sa";
 14     String pwd = "sa";
 15
 16     private Connection conn;
 17     private PreparedStatement stmt;
 18     private ResultSet rs;
 19
 20     public abstract Object createModel(ResultSet rs) throws SQLException;
 21
 22     private Connection getConnection() throws SQLException {
 23
 24         try {
 25             Class.forName(driver);
 26         } catch (ClassNotFoundException e) {
 27             e.printStackTrace();
 28         }
 29
 30         return DriverManager.getConnection(url, user, pwd);
 31     }
 32
 33     private void closeAll(Connection conn, Statement stmt,ResultSet rs) {
 34
 35         if(rs != null){
 36             try{
 37                 rs.close();
 38             }catch(SQLException e) {
 39                 e.printStackTrace();
 40             }
 41         }
 42
 43         if (stmt != null) {
 44             try {
 45                 stmt.close();
 46             } catch (SQLException e) {
 47                 e.printStackTrace();
 48             }
 49         }
 50
 51         if (conn != null) {
 52             try {
 53                 conn.close();
 54             } catch (SQLException e) {
 55                 e.printStackTrace();
 56             }
 57         }
 58     }
 59
 60     private void preExecute(String sql,Object...args)throws SQLException{
 61         conn = getConnection();
 62         stmt = conn.prepareStatement(sql);
 63         for (int i = 0; i < args.length; i++) {
 64             Object p = args[i];
 65             if(p instanceof java.util.Date){
 66                 if(!p.getClass().getName().startsWith("java.sql.")){
 67                     java.util.Date date = (java.util.Date)p;
 68                     p = new Timestamp(date.getTime());
 69                 }
 70             }
 71             stmt.setObject(i+1, p);
 72         }
 73     }
 74
 75     private void postExecute() {
 76         closeAll(conn, stmt, rs);
 77         conn = null;
 78         stmt = null;
 79         rs =  null;
 80     }
 81
 82     protected int executeUpdate(String sql,Object...args){
 83         int res = -1;
 84
 85         try {
 86             preExecute(sql,args);
 87             res = stmt.executeUpdate();
 88         } catch (SQLException e) {
 89             e.printStackTrace();
 90         } finally{
 91             postExecute();
 92         }
 93
 94         return res;
 95     }
 96
 97     protected List executeQuery(String sql,Object...args){
 98         List list = new ArrayList();
 99
100         try {
101             preExecute(sql,args);
102             rs = stmt.executeQuery();
103
104             while (rs.next()) {
105                 Object obj = createModel(rs);
106                 list.add(obj);
107             }
108         } catch (SQLException e) {
109             e.printStackTrace();
110         }finally{
111             postExecute();
112         }
113
114         return list;
115     }
116
117     protected Object executeQueryFirst(String sql,Object...args){
118         Object obj = null;
119
120         try {
121             preExecute(sql, args);
122             rs = stmt.executeQuery();
123
124             if(rs.next()){
125                 obj = createModel(rs);
126             }
127         } catch (SQLException e) {
128             e.printStackTrace();
129         }finally{
130             postExecute();
131         }
132
133         return obj;
134     }
135
136     protected Object executeQueryScalar(String sql,Object...args){
137         Object obj = null;
138
139         try {
140             preExecute(sql, args);
141             rs = stmt.executeQuery();
142
143             if(rs.next()){
144                 obj = rs.getObject(1);
145             }
146         } catch (SQLException e) {
147             e.printStackTrace();
148         }finally{
149             postExecute();
150         }
151
152         return obj;
153     }
154
155 }
时间: 2024-12-25 14:35:36

Java访问sql server数据库工具的相关文章

java 访问sql server数据库

控制面板--管理工具—ODBC数据源(64位)--系统DNS—添加(名称为“test”,服务器填“.”描述随意) 这里访问的数据库为AdventuerWorks 数据源配置好后可以测试一下,下面是java代码: public static void main(String args[]){ Connection con;//链接 java.sql.Statement sql;//语句 ResultSet rs;//查询结果 try { Class.forName("sun.jdbc.odbc.J

.NET跨平台之旅:升级至ASP.NET 5 RC1,Linux上访问SQL Server数据库

今天微软正式发布了ASP.NET 5 RC1(详见Announcing ASP.NET 5 Release Candidate 1),.NET跨平台迈出了关键一步. 紧跟这次RC1的发布,我们成功地将运行在Linux上的示例站点(http://about.cnblogs.com)升级到了ASP.NET 5 RC1,并且增加了数据库访问功能——基于Entity Framework 7 RC1访问SQL Server数据库. 示例站点页面左侧的导航是从数据库读取数据动态加载的,数据库服务器用的是阿里

原生的ado.net(访问sql server数据库)

本文介绍原生的ado.net(访问sql server数据库) 写在前面 数据库连接字符串 过时的写法 string str = "server=localhost;database=my_db;uid=sa;pwd=123"; 主流的写法 sql验证写法 string str = "Data Source=localhost;Initial Catalog=my_db;User ID=sa;Password=123"; windows验证写法 string str

c#.net 是如何访问 SQL Server 数据库

1.导入命名空间 using System.Data.SqlClient; //连接SQLServer 数据库专用 2.创建连接 SqlConnection lo_conn = New SqlConnection("Server=服务器名字或IP;Database=数据库名字;uid=用户名;pwd=密码"); 3.打开连接,第2步并没有真正连接数据库 lo_conn.Open(); //真正与数据库连接 4.向数据库发送SQL命令要使用SqlCommand: SqlCommand l

C# ADO.NET访问SQL Server数据库&lt;转&gt;

ADO.NET的对象主要包括Connection.Command.DataReader.DataAdapter.DataSet,ADO.NET访问数据库主要包括两个步骤:建立数据库连接.读取或更新数据. 一.建立数据库连接 Connection对象负责建立和控制用户应用程序和数据库之间的连接.所有的数据库连接都要用到连接字符串,该字符串是使用分号隔开的多项信息,其内容随着数据库类型和访问内容的变化而变化. 连接字符串的格式:"Server=服务器名或服务器IP地址;DataBase=数据库名称;

vb.net访问sql server数据库(SqlDataReader和DataSet两种方式)

.net访问数据库的三个基本步骤: 一.连接数据库: 要使用sqlclient命名空间中的sqlconnection类: 定义一个sqlconnection对象: Dim sqlCon As New SqlConnection 要进行的设置有: 1.sqlCon .ConnectionString="server=服务器ip;database=数据库名称;integrated security=ture/false(是否有登录账号密码);uid=用户名 (默认:sa);pwd:登录密码"

Java链接SQL Server数据库

一丶 操作对象  与ASP.NET 对比 对象类型 ADO.NET JDBC 连接对象 SqlConnection java.sql.Connection 执行对象 SqlCommand java.sql.Statement 预编译执行对象 java.sql.PreparedStatement 存储过程执行对象 ??? java.sql.CallableStatement 结果集 SqlDataReader java.sql.ResultSet 数据集 DataSet CachedRowSet

使用clojure访问SQL Server数据库

(require '[korma.core :as kc]) (require '[korma.db :as kd]) (Class/forName "com.microsoft.jdbc.sqlserver.SQLServerDriver") (kc/defentity sysobjects) (kd/defdb db (kd/mssql {:user "sa", :password "eemm", :db "master"

使用ADO.NET对SQL Server数据库进行访问

在上一篇博客中我们给大家简单介绍了一下VB.NET语言的一些情况,至于理论知识的学习我们可以利用VB的知识体系为基础,再将面向对象程序设计语言的知识进行融合便可进行编程实战. 如果我们需要访问一个企业关系数据库(比如SQL Server或者Oracle),并且需要包含由复杂关系构成的表中的数据,如何去实现?我们可以利用ADO.NET内置功能提取并操作数据,就想插入.更新和删除SQL Server里的数据一样. 首先简单介绍一下ADO.NET.所谓的ADO就是ActiveXData Objects