Java 连接 DB2的工具类

本文介绍了一个使用Java进行DB2数据库连接的示例,并展示了如何执行特定的SQL查询来获取用户数据。该示例包括了数据库连接创建、PreparedStatement使用、结果集处理以及资源关闭等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
public class CONN {
    public static Connection createConn()
    {
        Connection conn=null;
        try {
            //Class.forName("com.mysql.jdbc.Driver");       
            Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
            String url = "jdbc:db2://127.0.0.1:50000/sample";
            Properties props = new Properties();
            props.setProperty("user", "db2admin");
            props.setProperty("password", "ibmdb2");
            conn=DriverManager.getConnection(url,props);
        }catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
    public static PreparedStatement prepare(Connection conn,String sql)
    {
        PreparedStatement stat=null;
        try {
            stat=conn.prepareStatement(sql);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return stat;
    }
    public static void close(Connection conn)
    {
        if(conn==null) return;
        try {
            conn.close();
            conn=null;
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public static void close(Statement stat)
    {
        if(stat==null) return;
        try {
            stat.close();
            stat=null;
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public static void close(ResultSet rs)
    {
        if(rs==null) return;
        try {
            rs.close();
            rs=null;
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        Connection conn = createConn();
        System.out.println(conn);
        String sql="(select * from DB2ADMIN.user where id not in ( select id from DB2ADMIN.user order by id asc fetch first 10 rows only  ) order by id asc  ) fetch first 10 rows only";
        PreparedStatement ps;
        try {
            ps = conn.prepareStatement(sql);
            try {
                ResultSet rs=ps.executeQuery();
                while(rs.next())
                {
                    //System.out.println(rs.getString("userCount"));//(1);//.getString("name"));
                    System.out.println(rs.getString("id"));
                    System.out.println(rs.getString("name"));
                    System.out.println(rs.getString("password"));
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn.close();
            ps.close();
        } catch (SQLException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值