`
陈新杰
  • 浏览: 107301 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jdbc数据访问层diy

    博客分类:
  • java
阅读更多

用jdbc写sql层的时候diy了一个DAL类,将一些常用的sql操作(增,删,查,改)写在了一个静态类里面,形成了一个简单的sql操作工具类,在DAO层要用到sql操作的时候直接调用类的静态方法使用就行了,同时配了数据源,此例子是使用了proxool数据源,及一些简单的数据动态配置:

代码如下:

package com.db;

//数据库访问层
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
import javax.sql.RowSet;
import javax.sql.rowset.CachedRowSet;
import org.apache.log4j.Logger;
import com.sun.rowset.CachedRowSetImpl;

public class DAL
{

    private static Logger log = Logger.getLogger(DAL.class);
    private static String dburl = null;

    private static boolean inited = false;

    /**
     * 得到一个已联接好的数据库联连 一般用于过程执行
     * 
     * @return
     */
    public static Connection getConn()
    {
        try
        {
            // 使用连接池
            if (inited)
            {
                return DriverManager.getConnection("proxool.city");
            }

            if (dburl == null)
            {
                InputStream in = new BufferedInputStream(DAL.class.getResourceAsStream("db.pro"));
                Properties p = new Properties();
                p.load(in);
                dburl = p.getProperty("mysqlurl");
                log.debug(dburl);
            }

            Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
            Connection conn = DriverManager.getConnection("proxool.city:com.mysql.jdbc.Driver:" + dburl);
            inited = true;
            return conn;

        }
        catch (Exception e)
        {
            e.printStackTrace();
            
        }
        return null;
    }

    /**
     * 对数据库执行查询方法
     * 
     * @param sql
     * @return
     */
    public static RowSet query(String sql)
    {
        Connection conn = getConn();
        ResultSet rs;
        try
        {
            Statement s = conn.createStatement();
           log.debug(sql);
            rs = s.executeQuery(sql);
            CachedRowSet crs = new CachedRowSetImpl();
            crs.populate(rs);
            conn.close();
            return crs;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 对数据库执行更新打操作
     * 
     * @param sql
     * @return
     */
    public static int exec(String sql)
    {
        Connection conn = getConn();
        int rt;
        try
        {
            log.debug(sql);
            Statement s = conn.createStatement();
            rt = s.executeUpdate(sql);

            conn.close();
            return rt;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return 0;
    }

    /**
     * 对数据库进行添加操作
     * 
     * @param sql
     * @return
     */
    public static int add(String sql)
    {
        Connection conn = getConn();
        int rt;
        try
        {
            log.debug(sql);
            Statement s = conn.createStatement();
            rt = s.executeUpdate(sql);

            conn.close();
            return rt;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return 0;
    }

    /**
     * 对数据库进行删除操作
     * 
     * @param sql
     * @return
     */
    public static int del(String sql)
    {
        Connection conn = getConn();
        int rt;
        try
        {
           log.debug(sql);
            Statement s = conn.createStatement();
            rt = s.executeUpdate(sql);

            conn.close();
            return rt;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return 0;
    }
    //测试数据库连接
   public static void main(String args[])throws Exception{
	  System.out.println("得到一个数据连接  "+getConn()) ;
   }
}

 

 

1
0
分享到:
评论

相关推荐

    JDBC数据访问对象学习资料

    总结起来,JDBC数据访问对象学习资料将引导你理解如何在MVC架构中使用JDBC进行数据访问层的封装,包括DAO设计模式的应用,JDBC的基本操作流程,以及如何在实际项目中优化和提升数据访问的效率。通过学习,你将能够更...

    JDBC数据访问技术.rar

    **JDBC数据访问技术** Java Database Connectivity (JDBC) 是Java平台中用于访问数据库的标准Java API,它允许Java应用程序与各种数据库系统进行交互。通过JDBC,开发者可以编写跨平台的数据库应用程序,无论数据库...

    JDBC数据访问接口

    8. **ODBC数据访问接口**:虽然ODBC是微软提出的一个接口,主要用于非Java环境,但理解ODBC可以帮助我们理解JDBC的设计思想,即提供一个统一的接口来访问多种数据库。 在实际开发中,JDBC还涉及到异常处理、连接池...

    Weblogic JDBC 数据源配置和详细参数说明

    Weblogic JDBC 数据源配置和详细参数说明 一、JDBC 概述 JDBC(Java Database Connectivity)是 Java 语言中的一种标准数据库连接技术,几乎所有需要访问数据库的 J2EE 应用程序都直接或间接地使用了它。JDBC 提供...

    JDBC数据同步

    JDBC(Java Database Connectivity)数据同步是Java编程中一种重要的数据库操作技术,它允许应用程序通过标准接口与各种数据库进行交互。在分布式系统或数据仓库环境中,数据同步是确保多个数据库或数据源间信息一致...

    sap JDBC数据源配置

    ### SAP JDBC 数据源配置 #### 引言与目的 本文档旨在提供详细的步骤指南,用于在SAP NetWeaver 7.0 和 SAP Composite ...遵循本文档提供的步骤,可以帮助确保数据源配置正确无误,从而实现高效的数据访问。

    spring学习:JDBC数据访问

    标题 "spring学习:JDBC数据访问" 涉及到的是Spring框架中关于JDBC(Java Database Connectivity)数据访问的相关内容。Spring是一个广泛使用的开源Java应用程序框架,它为开发人员提供了一个全面的平台来管理数据库...

    Java Web JDBC数据源.docx

    1. JDBC 数据源:JDBC 数据源是指 Java 应用程序中用于连接数据库的对象,它提供了统一的接口来访问不同的数据库。在这个配置文件中,我们可以看到的是使用了 javax.sql.DataSource 接口来定义数据源。 2. Context ...

    基于JDBC数据驱动的Mysql小项目源码.zip

    基于JDBC数据驱动的Mysql小项目源码.zip基于JDBC数据驱动的Mysql小项目源码.zip基于JDBC数据驱动的Mysql小项目源码.zip基于JDBC数据驱动的Mysql小项目源码.zip基于JDBC数据驱动的Mysql小项目源码.zip基于JDBC数据...

    WebSphere建立jdbc数据源

    JDBC数据源是一个在应用程序服务器中预先配置的数据库连接池,它允许应用程序快速、高效地访问数据库,而无需每次连接时都进行繁琐的设置。在WebSphere中,通过创建JDBC数据源,我们可以为应用程序提供一致且可靠的...

    JDBC数据库访问技术

    JDBC数据库访问技术

    java 使用JDBC构建简单的数据访问层实例详解

    本文将详细介绍如何使用JDBC构建一个简单数据访问层(DAL,Data Access Layer),从而实现高效且简洁的数据库操作。 首先,我们需要创建数据库。在这个示例中,我们将创建一个名为`testdb`的数据库,并在其中创建一...

    07CHAPTER07--JDBC数据访问接口.pdf

    ### JDBC数据访问接口详解 #### 一、JDBC概述与结构 JDBC,全称Java Database Connectivity,是Java平台上的数据库连接技术。它允许Java应用程序连接到任何支持JDBC的数据库,通过统一的API(Application ...

    JDBC多层架构解析图

    在多层架构中,JDBC通常被应用在中间层,作为数据访问层,负责与数据库进行通信。 在传统的多层架构中,我们通常会看到以下层次: 1. **表现层(Presentation Layer)**:这是用户界面所在的层,负责与用户进行...

    JDBC数据访问接口收集.pdf

    JDBC是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC的核心组件包括以下几个部分: 1. **DriverManager**:这是Java驱动程序管理器,用于管理一组JDBC...

    jdbc访问数据库\jdbc方式直接访问数据库环境的配置

    ### JDBC访问数据库及环境配置详解 #### 一、引言 JDBC(Java Database Connectivity)是一种用于执行SQL语句的标准Java API,它可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC...

    weblogic控制台创建jdbc数据源

    在WebLogic控制台上创建JDBC数据源是连接数据库的关键步骤,这使得应用能够透明地访问数据库资源。下面我们将详细探讨这个过程。 1. **JDBC数据源的概念** JDBC数据源是WebLogic服务器中的一个对象,它封装了...

    JDBC数据类型与数据库字段对应表——mysql篇

    JDBC数据类型与数据库字段对应表——mysql篇 数值型 整型 JDBC tinyint java.lang.Integer smallint mediumint java.lang.Long int bigint java.math.BigInteger

Global site tag (gtag.js) - Google Analytics