3.1JDBC学习——使用类加载器加载配置文件和JDBC批处理

JAVAWEB学习文章索引

使用类加载器:

方法介绍:

 void	load(InputStream inStream) 
          从输入流中读取属性列表(键和元素对)。
InputStream	getResourceAsStream(String name) 
          查找具有给定名称的资源。

要说明的是,如果文件放在src下面,则用/properties,如果放在该类的包下,则用properties。

/路径在java项目中位置处于src下,在web中处于WEB-INF/class下。所以是可以同时满足java项目和web项目的

代码:

package com.dbhelp;

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;

public class DBUtils {
	
	private static Connection conn = null;
	private static String url;
	private static String name;
	private static String password;
	private static String driver;
	static {
		try {
			Properties prop = new Properties();
		    Class clazz = DBUtils.class;
		    InputStream in = clazz.getResourceAsStream("/db.properties");
			prop.load(in);
			url = prop.getProperty("url");
			name = prop.getProperty("name");
			password = prop.getProperty("password");
			driver = prop.getProperty("driver");
			Class.forName(driver);	
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}catch (IOException e) {
			e.printStackTrace();
		}
	}
	public static Connection getConnection() {

		try {
			conn = DriverManager.getConnection(url,name,password);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	
}

JDBC批处理:

这里就举例PreparedStatement的批处理方式

代码:

package com.jdbc;

import java.sql.*;

import com.dbhelp.DBUtils;

public class PreparedStatementBatchTest {
	private static Connection conn = null;
	private static PreparedStatement psttm = null;
	public static void main(String[] args) {
		conn = DBUtils.getConnection();
		String sql = "insert into person(id,name,age) values(?,?,?)";
		try {
			psttm = conn.prepareStatement(sql);
			for(int i = 1; i <= 3; i++) {
				psttm.setInt(1, i+4);
				psttm.setString(2, "testname"+i);
				psttm.setInt(3, 20+i);
				psttm.addBatch();
			}
			psttm.executeBatch();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		DBUtils.close(conn, psttm);
	}
}

猜你喜欢

转载自blog.csdn.net/smallhc/article/details/80758399