Java | 实现读文件,写DB2数据库,多线程 | 解决线程名以及DB2 driver ClassNotFoundException的问题

这篇博客记录了作者在学习Java时进行的多线程、文件读取和DB2数据库连接的实践。在多线程中遇到线程命名问题,以及解决DB2数据库驱动ClassNotFoundException的方法。内容包括创建数据表的DDL,从文件读取数据并写入数据库的代码示例,以及针对线程名和DB2连接问题的解决方案。
摘要由CSDN通过智能技术生成

看了一遍Java语法,开始动手做一些练习, 主要集中在多线程,读文件,写数据这几个方面。

在研究多线程的过程中,碰到了线程名字的问题,做了一点研究。

而在连接DB2的时候,又碰到了ClassNotFoundException 找不到driver的问题,也找到了解决方案。


创建数据表的DDL:

create database TEST automatic storage yes;

create table customers(name varchar(20), age integer, location varchar(20));

连接数据库,并写数据库:

test.DB2Conn.java

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class DB2Conn {
	private static Connection conn = null;
	private static PreparedStatement stmt = null;
	
	private static String url = "jdbc:db2://localhost:50000/TEST";
	private static String user = "ADMIN";
	private static String pwd = "test";
	
	public DB2Conn() {
		// TODO Auto-generated constructor stub
		try{
			System.out.println("Start to connecting DB2 database...");
			Class.forName("com.ibm.db2.jcc.DB2Driver"); //load DB driver
			
			conn = DriverManager.getConnection(url, user, pwd);
			System.out.println("Connet to DB2 database successfully.");	
			
		}catch(Exception e){
			System.out.println(e.getMessage());
			e.printStackTrace();
		}
	}
	 
	/**   
	 * Insert data
	 */
	    public void insert(String[] fields, String sql){  
	        try{  
	        stmt = conn.prepareStatement(sql);
	        stmt.setString(1,fields[0]);  
	        stmt.setInt(2, Integer.parseInt(fields[1]));
	        stmt.setString(3,fields[2]);  
	        int record = stmt.executeUpdate();
	        System.out.println("Insert " + record + " records successfully.");
	      }  
	     catch(SQLException e){  
	        System.out.println(e);  
	        }  
	        }  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值