`
yuxuguang
  • 浏览: 140007 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jdbc连接数据库(转)

    博客分类:
  • java
阅读更多
package org.craf;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class FilterData {
	private Connection dbConnection = null;
    private Statement selectPro = null; //用于 select 操作
    private Statement updatePro = null; //用于 update 操作
    private ResultSet dbResultSet = null; //操作 select 结果集
    
    private String driverName;//声明MySql驱动类
    private String dbHost;
    private String dbPort;
    private String dbName;
    private String dbUserName;
    private String dbPassword;
    private String enCoding; 
    
    /** *//**
     * 实例化DbConnection对象
     * @param host 数据库主机(IP)
     * @param port 数据库端口
     * @param dName 数据库名称
     * @param uName 用户名
     * @param password 用户密码
     */
    public FilterData(String host, String port, String dName, String uName, String password)
    {
        driverName = "com.sybase.jdbc3.jdbc.SybDriver";
        dbHost = host;
        dbPort = port;
        dbName = dName;
        dbUserName = uName;
        dbPassword = password;
        enCoding = "?Charset";
    }//end DbConnection()
    
    /** *//**
     * 连接数据库
     * @return 连接成功返回true,连接失败返回false
     */
    public boolean dbConnection()
    {
        StringBuilder urlTem = new StringBuilder();
        urlTem.append("jdbc:sybase:Tds:");
        urlTem.append(dbHost);
        urlTem.append(":");
        urlTem.append(dbPort);
        urlTem.append("/");
        urlTem.append(dbName);
        urlTem.append(enCoding);
        String url = urlTem.toString();
        try
        {
            Class.forName(driverName).newInstance();
            dbConnection = DriverManager.getConnection(url, dbUserName, dbPassword);
            return true;
        }catch(Exception e){
            System.err.println("数据库联接失败!");
            System.out.println("url = " + url);
            e.printStackTrace(); //得到详细的出错消息
            return false;
        }
    }// end dbConnection()
    
    /** *//**
     * 执行专门的select操作,注意:在selectSql中的字段和fields中的个数、名称要保持一致
     * @param selectSql 用于执行的select语句
     * @param fields 要选择的字段
     * @return 含有Map的ArrayList,一条记录形成一个Map
     */
    public ArrayList dbSelect(String selectSql, ArrayList fields)
    {
        ArrayList<Map> selectResult = new ArrayList<Map>();
        Map<String, String> recordInfo;
        try{
            selectPro = dbConnection.createStatement();//定义Statement对象
            dbResultSet = selectPro.executeQuery(selectSql);
            while(dbResultSet.next()){
                recordInfo = new HashMap<String, String>();
                for(int i = 0; i<fields.size(); ++i)
                    recordInfo.put((String)fields.get(i), dbResultSet.getString((String)fields.get(i)));
                selectResult.add(recordInfo);
            }
            dbResultSet.close(); //断开结果集
            selectPro.close(); //断开Statement对象
        }catch(Exception e){
            System.out.println("选择操作失败");
            System.out.println("Sql = " + selectSql);
            e.printStackTrace();
        }
        return selectResult;
    }//end dbSelect()
    
    /** *//**
     * 对数据库执行update,delete或insert操作
     * @param sql 要执行操作的SQL语句
     * @return 执行成功返回true,失败返回false
     */
    public boolean dbUpdate(String sql)
    {
        try
        {
            updatePro = dbConnection.createStatement(); //定义Statement对象
            updatePro.executeUpdate(sql);
            updatePro.close();// -------------关闭Statement对象
            return true;
        }catch(Exception err){
            System.out.println("数据库操作失败!");
            System.out.println("Sql = " + sql);
            err.printStackTrace();
            return false;
        }
    }//end dbUpdate()
    
    /** *//**
     * 关闭数据库连接
     * @return 成功返回true, 失败返回false
     */
    public boolean closeDatabase()
    {
        try{
            if(dbConnection != null)
                dbConnection.close();
            return true;
        }catch (Exception ex){
            ex.printStackTrace();
            return false;
        }
    }//end closeDatabase()
    
    public String filterData(String area){
    	String areas[] = area.split("-");
    	String resultData = "";
    	if(areas.length == 3){
    		resultData = areas[0]+"-"+areas[2];
    	}else{
    		resultData = area;
    	}
    	return resultData;
    }
    
    public static void main(String[] args)
    {
        String dbHost = "192.168.0.57";
        String dbPort = "5000";
        String dbName = "ssjg";
        String dbUserName = "sa";
        String dbPassword = "123456";
        String tableName = "BASEDATA_50000011";
        String tableid = "BASEDATAID";
        String areaname = "JCDQNAME";
        FilterData conn = new FilterData(dbHost, dbPort, dbName, dbUserName, dbPassword);
        boolean bool = conn.dbConnection();
        if(!bool)
            return;
        String selectSql = "select "+tableid+","+areaname+" from "+tableName+" order by JCDID";
        ArrayList<String> fieldsList = new ArrayList<String>();
        fieldsList.add(tableid);
        fieldsList.add(areaname);
        ArrayList<Map> userInfoList = conn.dbSelect(selectSql, fieldsList);
        int infoSize = userInfoList.size();
        String userName;
        String ad;
        if(infoSize == 0)
            System.out.println("没有选出符合条件的数据");
        else{
            for(int i = 0; i < infoSize; ++i){
                userName = (String)userInfoList.get(i).get(areaname);
                ad = (String)(((Map)userInfoList.get(i)).get(tableid));
                String areaData = conn.filterData(userName);
                String updateSql = "update "+tableName+" set "+areaname+" = '" + areaData + "' where "+tableid+" ="+new Integer(ad)+"";
                conn.dbUpdate(updateSql);
                System.out.println(areaname + " = " + areaData+";"+tableid+" = " + ad);
            }
            System.out.println("记录总数:"+infoSize);
        }
        conn.closeDatabase();
    }//end main()
    


}

 

分享到:
评论

相关推荐

    JDBC连接数据库测试

    JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试...

    JDBC连接数据库步骤

    jdbc java 数据库 连接数据库 步骤

    JDBC连接数据库方法文档

    JDBC 连接数据库方法文档 JDBC(Java Database Connectivity)是 Java 语言中用于连接数据库的标准 API。它提供了一种统一的方式来访问各种类型的数据库,包括关系数据库、对象数据库和文本数据库等。下面是 JDBC ...

    JDBC连接数据库步骤及代码

    ### JDBC连接数据库步骤详解 #### 一、简介 在Java开发中,经常需要与数据库进行交互,例如查询数据、更新数据等操作。为了方便开发者进行这些操作,Sun公司推出了一套标准的Java访问数据库的API——Java Database...

    jdbc连接数据库步骤

    对于初学者来说,理解JDBC连接数据库的基本步骤至关重要。以下是详细解释这些步骤的知识点: 1. 加载JDBC驱动程序: 在连接数据库之前,首先需要在Java虚拟机(JVM)中加载对应的数据库驱动程序。这一步是通过使用...

    jsp中jdbc数据库连接

    jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc...

    JDBC连接数据库工具类

    JDBC连接数据库工具类 JDBC 连接数据库 ORACLE SQLSERVER MYSQL ORACLE 已测 OK 欢迎大家反馈 我的微博是: http://weibo.com/namenode

    JDBC连接数据库各种数据库参数大全

    ### JDBC连接数据库各种数据库参数详解 #### 一、Oracle8/8i/9i数据库(thin模式) 在Java中通过JDBC访问Oracle数据库时,通常采用thin驱动方式。thin驱动是一种纯Java驱动,无需依赖任何非Java代码即可完成与...

    JDBC连接数据库JDBC连接数据库.ppt

    JDBC连接数据库JDBC连接数据库

    JDBC连接数据库代码大全

    JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一种API。它提供了一种标准的方式来访问和操作数据库,使得开发人员无需关心具体的数据库实现细节,就能执行SQL语句并处理结果。JDBC...

    第五章 JDBC连接数据库.pdf

    本章主要针对如何使用JDBC连接Oracle数据库,提供了详细步骤说明,适用于教学及实际开发中的应用。JDBC允许Java程序执行SQL语句,适用于多种关系型数据库,如Oracle、MySQL、SQL Server等。 首先,JDBC连接Oracle...

    jdbc连接数据库jdbc连接数据库

    "JDBC 连接数据库" JDBC(Java Database Connectivity)是一种Java API,用于连接数据库,并执行 SQL 语句以访问和操作数据库中的数据。JDBC API 由java.sql包提供,包括了 Connection、Statement、ResultSet 等...

    eclipse JDBC连接数据库及jsp操作数据库数据详细教程.docx

    eclipse JDBC连接数据库及jsp操作数据库数据详细教程 本教程旨在指导读者如何使用Eclipse、JDBC和JSP来连接数据库并操作数据库数据。整个教程分为三部分:安装准备工作、安装Tomcat和MyEclipse、配置JDBC连接数据库...

    JDBC连接数据库 PPT

    JDBC 连接数据库 PPT 一些基本的连接数据库 代码

    JDBC连接数据库的驱动包

    java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC...

    java实例jdbc连接数据库大全.doc

    JDBC连接数据库的基本步骤包括: 1. 加载数据库驱动:`Class.forName(driverClassName);` 2. 创建数据库连接:`Connection conn = DriverManager.getConnection(url, username, password);` 3. 获取Statement或...

    PG-java jdbc连接数据库

    本篇文章将深入探讨如何使用JDBC连接PG数据库,以及实现数据的增删改查操作。 首先,我们需要了解JDBC的基本概念。JDBC是Java程序访问数据库的一组接口和类,它允许开发者使用SQL语句来操作数据库。JDBC提供了一个...

    Java中JDBC连接数据库详解

    Java中JDBC连接数据库详解 Java中JDBC连接数据库详解是指Java程序使用JDBC(Java Database Connectivity)来连接和操作数据库的过程。JDBC是一种Java API,用于连接和操作数据库,它提供了一套标准化的接口,允许...

    常用的jdbc连接数据库架包jar

    "常用的jdbc连接数据库架包jar"指的是包含不同数据库驱动的Java类库,这些驱动使得Java程序能够通过JDBC API与Oracle、DB2、SQLServer和MySQL等主流数据库建立连接。下面我们将详细探讨这些数据库以及它们对应的JDBC...

Global site tag (gtag.js) - Google Analytics