Java-编写一个jdbc操作类

1.通过读取文件配置

package 数据库操作类;  

    /* * Db.java
    Created on 2007年8月20日, 上午 8:37
    */
    import java.io.*;
    import java.sql.*;
    import java.util.Properties;
    public class DB {
        private String driver;
        private String url;
        private String user;
        private String password;
        private Connection conn;
        private Statement stm;
        private ResultSet rs;
        public DB(){
            this("DBConf.properties");
        }
        public DB(String conf) {
            loadProperties(conf);
            setConn();
        }
        public Connection getConn(){
            return this.conn;
        }
      //handle the properties file to get the informations for connection
        private void loadProperties(String conf){
            Properties props = new Properties();
            try {
                props.load(new FileInputStream(conf));
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            this.driver = props.getProperty("driver");
            this.url = props.getProperty("url");
            this.user = props.getProperty("user");
            this.password = props.getProperty("password");
        }
        //implement the Connection
        private void setConn(){
            try {
                Class.forName(driver);
                this.conn = DriverManager.getConnection(url,user,password);
            } catch(ClassNotFoundException classnotfoundexception) {
                  classnotfoundexception.printStackTrace();
                System.err.println("db: " + classnotfoundexception.getMessage());
            } catch(SQLException sqlexception) {
                System.err.println("db.getconn(): " + sqlexception.getMessage());
            }
        }
           public void doInsert(String sql) {
            try {
                Statement statement = conn.createStatement();
                int i = stm.executeUpdate(sql);
            } catch(SQLException sqlexception) {
                System.err.println("db.executeInset:" + sqlexception.getMessage());
            }
        }
        public void doDelete(String sql) {
            try {
                stm = conn.createStatement();
                int i = stm.executeUpdate(sql);
            } catch(SQLException sqlexception) {
                System.err.println("db.executeDelete:" + sqlexception.getMessage());
            }
        }
        public void doUpdate(String sql) {
            try {
                stm = conn.createStatement();
                int i = stm.executeUpdate(sql);
            } catch(SQLException sqlexception) {
                System.err.println("db.executeUpdate:" + sqlexception.getMessage());
            }
        }  

        public ResultSet doSelect(String sql) {
            try {
                stm = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
                rs = stm.executeQuery(sql);
            } catch(SQLException sqlexception) {
                System.err.println("db.executeQuery: " + sqlexception.getMessage());
            }
            return rs;
        }
        public static void main(String[] args){
            try{
                DB db = new DB();
                Connection conn = db.getConn();
                if(conn != null && !conn.isClosed()) {
                    System.out.println("連結成功");
                    ResultSet rs = db.doSelect("select * from content");
                    while(rs.next()){
                        System.out.println(rs.getString(1)+":"+rs.getString(2)+":"+rs.getString(3));
                      }
                    rs.close();
                    conn.close();
                }
            }catch(SQLException e) {
                e.printStackTrace();
            }
        }
    }  
时间: 2024-11-17 00:35:04

Java-编写一个jdbc操作类的相关文章

【java】对jdbc操作结果简单的映射封装

1. 对jdbc做一个简单的封装,select可以返回一个javabean对象,而不是resultset.主要用了反射.这是我之前写的代码,做了简单的修改. 实现功能:a.对数据库的基本操作 增删改查 b.对查询的单条记录返回一个指定类型的javabean对象,利用java反射,jdbc ResultSet类和ResultSetMetaData类 c. 对查到的结果集返回一个List, 泛型 数据源:用到的 数据库连接池是我自己简单实现的一个连接池:[java]简单实现数据库连接池,主要为了后续

【C++】编写一个简单的类。包含构造函数,成员函数等。

<pre name="code" class="cpp">//编写一个简单的类.包含构造函数,成员函数等. #include <iostream> using namespace std; class Rec { public: Rec(int l,int w); int Area(); void Print(); private: int length,wide; }; Rec::Rec(int l,int w) { length=l; w

刚整了一个数据库操作类,但是可以用吗?

今天闲来无事,把以前自己搞的一个数据库操作类重新整理了一下,把命名规范了一下,位置和功能重新规划了一下. 源代码下载:http://files.cnblogs.com/xiaoshuai1992/xsFrameWork.SqlServer.zip 请先看图片和介绍 DbOperate文件夹 DbAccess类:核心类,运用Ado.net 对数据库进行操作. DbInParameter :传入DbAccess的参数,如参数,sql语句,sp名称,sp是执行还是返回数据. DbOutParamete

一个数据库操作类,适用于Oracle,ACCESS,SQLSERVER

最近做了一个数据诊断的项目,里面自己写了一个数据库的操作类,包含:连接数据库.读数据表.执行SQL操作,释放数据库等组成,希望对大家有用,由于水平有限,若有错误或者代码不足地方欢迎指正,谢谢. ADOOperate.H [cpp] view plaincopy ////////////////////////////////////////////////////////////////////// // 类功能:用于数据库的操作 主要实现 连接数据库 读数据表 检查数据表 执行SQL语句 //

C++ 编写一个不可复制的类

C++ 编写一个不可复制的类 flyfish Effective C++:条款06 若不想使用编译器自动生成的函数,就该明确拒绝 . Explicitly disallow the use of complier-generated functions you do not want. 老式C++的写法 class noncopyable { protected: noncopyable() {} ~noncopyable() {} private: noncopyable( const non

JAVA中有一个特殊的类: Object

JAVA中有一个特殊的类: Object.它是JAVA体系中所有类的父类(直接父类或者间接父类). 此类中的方法可以使所的类均继承. 以下介绍的三种方法属于Object: (1) finalize方法:当一个对象被垃圾回收的时候调用的方法. (2) toString():是利用字符串来表示对象. 当我们直接打印定义的对象的时候,隐含的是打印toString()的返回值. 可以通过子类作为一个toString()来覆盖父类的toString(). 以取得我们想得到的表现形式,即当我们想利用一个自定

Java编写一个四位数的随机验证码

import java.util.Random; /* 随机数类 Random 需求: 编写一个函数随机产生四位的验证码.  */ public class Demo5 { public static void main(String[] args) { /* Random random = new Random(); int randomNum = random.nextInt(10)+1; //产生 的 随机数就是0-10之间 System.out.println("随机数:"+ 

java中的集合操作类(未完待续)

申明: 实习生的肤浅理解,如发现有错误之处,还望大牛们多多指点 废话 其实我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList<XXXXX>(); 但是我仅仅只是了解,list这个类是一个可变长用来存储的对象实例的类,我甚至觉得这个List对象可以理解成数组,但是却又与java中咱们正常理解的数组很多的不同,比如说,他的长度可以随着需要自动增长,比如说,实例化一个List类就和咱们声明数组的时候是不一样的! 今天的实习生活

面试题之java 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要求不能出现截半的情况

题目:10. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”. 一.需要分析 1.输入为一个字符串和字节数,输出为按字节截取的字符串-------------->按照字节[byte]截取操作字符串,先将String转换成byte类型 .2.汉字不可以截半----------------------------------