`
cs666666
  • 浏览: 1549 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

数据库实用工具类

阅读更多
经常用到数据库,于是总结了一个较实用的数据库工具类,oracle外其他数据库也是可以借鉴的。

主要分为两个部分:
1.创建数据库对象。调用本类其他方法都需要用到这个对象。
2.操作数据。为数据安全,有事务处理,为节省资源,每次操作都有开、闭连接,高并发情况需要自行优化修改


    
public static class DBUtil
    {

        #region 创建数据库对象
        /// <summary>
        /// 有参oracle数据库连接
        /// </summary>
        /// <param name="connBean"></param> 
        /// <returns>OracleConnection实例或null</returns>
        public static OracleConnection OpenOracleConn(DbConnBean connBean)
        {
            if (connBean == null)
                return null;
            OracleConnection conn = null;
            try{
            String connStr = string.Format(
            "Data Source=(DESCRIPTION="
            + "(ADDRESS=(PROTOCOL=TCP)(HOST={0})(PORT={1}))"
            + "(CONNECT_DATA=(SERVICE_NAME={2})));"
            + "User Id={3};Password={4};", connBean.Host, connBean.Port, connBean.Servername, connBean.User, connBean.Pass);
             conn = new OracleConnection(connStr);
            }
            catch (Exception e)
            {
                Console.WriteLine("失败连接oracle:" + e); return null;
            }
            return conn;
        }
       #endregion

        #region 数据操作
        /// <summary>
        /// 查询 oracle数据库共用方法
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static DataTable selectOracle(String sql, OracleConnection oracleconn)
        {
            DataTable dt = null;
            try
            {
                if (OpenOracleConn(oracleconn) == 1)
                {
                    OracleCommand cmd = new OracleCommand(sql, oracleconn);
                    cmd.CommandType = CommandType.Text;
                    DataSet ds = new DataSet();
                    OracleDataAdapter da = new OracleDataAdapter();
                    da.SelectCommand = cmd;
                    da.Fill(ds);//将结果集填入
                    dt = ds.Tables[0];
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("oracle查询失败:"+e);
            }
            finally {
                oracleconn.Close();
            }
            return dt;
        }
        /// <summary>
        /// 更新 oracle数据库共用方法(事务)
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="oracleconn"></param>
        /// <returns>
        /// 0执行失败 
        /// 1执行成功
        /// </returns>
        public static int insertUpdateOracle(String sql, OracleConnection oracleconn, List<OracleParameter> plist)
        {
            OracleCommand cmd = null;
            try
            {
                cmd = new OracleCommand(sql, oracleconn);
                foreach (OracleParameter op in plist)
                    cmd.Parameters.Add(op);
                if (OpenOracleConn(oracleconn) == 1)
                {
                    cmd.Transaction = oracleconn.BeginTransaction();
                    cmd.CommandType = CommandType.Text;
                    cmd.ExecuteNonQuery();
                    cmd.Transaction.Commit();
                    return 1;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("oracle更新失败:" + e);
                cmd.Transaction.Rollback();
            }
            finally
            {
                oracleconn.Close();
            }
            return 0;
        }
               #endregion

        #region 打开连接
        /// <summary>
        /// 打开oracle数据库
        /// </summary>
        /// <param name="conn"></param>
        /// <returns>
        /// 0失败
        /// 1成功
        /// </returns>
        public static int OpenOracleConn(OracleConnection conn) {
            try
            {
                //打开连接
                conn.Open();
                //如果当前状态打开,在控制台输出
                if (conn.State == ConnectionState.Open)
                {
                    Console.WriteLine("成功连接oracledb:" + conn.ConnectionString);
                    return 1;
                }
                else
                    return 0;
            }
            catch (Exception e) {
                Console.WriteLine("打开oracle数据库失败:"+e);
                return 0;
            }
        }

            #endregion

        #region 关闭连接
        /// <summary>
        /// 关闭oracle数据库连接
        /// </summary>
        /// <param name="conn"></param>
        public static void CloseOracleConn(OracleConnection conn)
        {
            if (conn == null) { return; }
            try
            {
                if (conn.State != ConnectionState.Closed)
                {
                    conn.Close();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                conn.Dispose();
            }
        }
              #endregion
    }

 

 

分享到:
评论

相关推荐

    JAVA数据库操作工具类

    总结起来,`JAVA数据库操作工具类` 是一个实现对SQL Server数据库基础操作的实用类,利用JDBC接口和JUnit测试,确保了代码的稳定性和易用性。通过合理的设计和测试,这样的工具类可以大大提高开发人员在处理数据库...

    DBUtil(ASP。NET数据库连接工具类)

    总的来说,DBUtil是ASP.NET开发中的一个实用工具,它简化了数据库交互,使开发人员能更专注于业务逻辑,而不是底层的数据库操作。在处理大量数据库操作时,使用DBUtil能够提高开发效率,降低出错概率,同时增强代码...

    数据库连接、操作工具类

    本资源提供了一套实用的工具类,用于简化Java应用程序中的数据库交互。下面将详细阐述这两个类——DBUtil和SQLUtil的功能及使用方法。 DBUtil.java:这是一个数据库连接类,它封装了多种数据库(如SQL Server、...

    通用 数据库访问 工具 类

    《通用数据库访问工具类》是针对多种类型数据库设计的一个实用工具类,旨在简化数据库操作,提高开发效率。这个工具类支持Access、Oracle和SQL等多种常见的数据库系统,通过工厂模式进行数据库连接的创建与管理,...

    SQLite数据库使用工具类

    下面,我们将深入探讨如何利用SQLite数据库以及一个实用的工具类来简化数据库操作。 一、SQLite基本概念 1. 数据库:SQLite数据库是一个文件,存储着数据表、索引和其他数据库对象。 2. 表:数据的集合,由行和列...

    eclipse中有关mysql数据库工具类编写的例子

    ### Eclipse中MySQL数据库工具类编写详解 在Java开发过程中,我们经常会...在实际开发中,还可以进一步优化和完善这个工具类,例如引入连接池技术来提高性能和稳定性,以及增加更多实用的功能来满足复杂的应用需求。

    数据库的查询、修改的工具类

    这是一个关于数据库的查询、修改、删除、添加的工具类 实用 方便

    JDBC链接Oracle数据库增删改查通用工具类

    标题中的“JDBC链接Oracle数据库增删改查通用工具类”指的是一个Java编程中的实用工具类,它封装了与Oracle数据库交互的JDBC操作,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)这四种基本...

    C#通用数据库连接工具类支持ORACLE和SQLITE数据库,可扩展

    本文将详细探讨标题和描述中提及的"C#通用数据库连接工具类",它支持ORACLE和SQLITE数据库,并具有良好的可扩展性。 首先,C#是一种面向对象的编程语言,广泛用于构建Windows桌面应用、Web应用以及移动应用。为了与...

    连接数据库的工具类及其配置文件

    一个实用的数据库连接工具类通常会封装JDBC的基本操作,例如创建`Connection`对象、执行SQL语句、处理结果集`ResultSet`以及关闭资源。以下是此类的一些关键功能: 1. **打开连接**:使用`DriverManager.get...

    ios 下封装数据库操作工具类

    在iOS开发中,数据库操作是常见的任务,通常用于存储应用程序的数据。...总的来说,这个封装的数据库操作工具类是一个实用的iOS开发组件,它可以简化数据库交互,让开发者更专注于业务逻辑,提高开发效率。

    sql.zip_operation_操作数据库的工具类

    总的来说,`sql.zip_operation_操作数据库的工具类`是一个实用的工具,它将复杂的数据库操作封装起来,使开发人员能够专注于业务逻辑,而不是数据库交互的细节。通过合理设计和使用这样的工具类,可以显著提高代码...

    DBUtils(通用的数据库工具类)

    DBUtils的出现就是为了解决这些问题,它引入了实用工具类和辅助方法,使得数据库操作变得更加便捷。 DBUtils的主要功能和特点包括: 1. **资源管理**:DBUtils自动处理JDBC资源的创建和关闭,避免了可能出现的内存...

    C#数据库实体类生成工具

    本文将详细介绍一款名为“C#数据库实体类生成工具”的高效实用工具,该工具具有全面的功能,包括检索表名、批量生成实体类等,适用于SQL、Oracle、Access和MySQL等多种数据库。 首先,让我们理解实体类在数据库交互...

    DB数据库打开工具

    总的来说,DB数据库打开工具是IT专业人士和数据爱好者的实用工具,它们简化了对.db文件的操作,使得无需深入了解底层数据库系统就能进行有效的数据操作和管理。不论是在开发、调试还是数据分析过程中,这类工具都...

    Access mdb数据库比较工具

    Access mdb数据库比较工具是一款专为Microsoft Access数据库设计的实用程序,用于对比两个mdb格式的数据库文件,以便找出数据和结构的差异。在数据库管理和维护过程中,这种工具是至关重要的,尤其是当需要同步不同...

    mysql数据库连接的简单工具类

    总结来说,"mysql数据库连接的简单工具类"是一个实用的编程资源,为初学者提供了基础的数据库操作模型。通过学习和实践,你可以理解数据库连接的基本流程,进而在实际项目中灵活运用,提高开发效率。同时,这个工具...

    30个java工具类

    [工具类] XML 实用工具类 .java.txt [工具类] XML工具类2 .java.txt [工具类] 测试Mysql的最大连接数 .java.txt [工具类] 读取、打印输出、保存xml .java.txt [工具类] 分页split_page.jsp .jsp.txt [工具类] 获得...

    根据数据库生成实体类的一个工具

    总的来说,这个自编写的工具是Java开发中的实用助手,尤其对于使用Hibernate框架并处理Oracle数据库的项目来说。它通过自动化JavaBean的生成,减少了手动编码的繁琐,增强了代码的规范性和一致性,并且可以通过模板...

    实用数据库访问类,封装常见的数据库访问类助手

    本资源"实用数据库访问类,封装常见的数据库访问类助手"提供了一个方便的工具,可以简化数据库操作,提高代码的可维护性和复用性。 首先,我们要理解什么是数据库访问类。数据库访问类是面向对象编程中的一种设计...

Global site tag (gtag.js) - Google Analytics