JDBC批处理练习

建立JDBC连接的工具类:
package util;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class JDBCUtils {
	private static final String driver;
	private static final String url;
	private static final String user;
	private static final String password;
static {  
	Properties properties = new Properties();
	try {
		properties.load(new FileInputStream("src/jdbc_connection.properties"));
	
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	 driver = properties.getProperty("driverClassName");
	 url = properties.getProperty("url");
	 user = properties.getProperty("username");
	 password = properties.getProperty("password");
}
public static void  loadDriver() {
	try {
		Class.forName(driver);
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
}
public static Connection  getConnection() {
	Connection conn = null;
	try {
		loadDriver();
	conn =	DriverManager.getConnection(url, user, password);
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return conn;
}

public static void release(Statement stmt,Connection conn) {
	if (stmt!=null) {
		try {
			stmt.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	if (conn!=null) {
		try {
			conn.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
public static void release(Statement stmt,Connection conn,ResultSet res) {
	if (stmt!=null) {
		try {
			stmt.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	if (conn!=null) {
		try {
			conn.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	if (res!=null) {
		try {
			res.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
}
在主方法中进行测试
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import util.JDBCUtils;

public class Jdbc_statmentDemo {
	public static void main(String[] args)  {
		//将连接引用提取到公共区
		Connection conn = null;
		//PreparedStatement pstmt = null;
		Statement sta = null;
		//ResultSet rs = null;
		try {
		JDBCUtils.loadDriver(); //调jdbc连接的工具类
		 conn = JDBCUtils.getConnection();
//		 String sql = "INSERT INTO USER (id,NAME,birthay,salary,RESUME)"
//		 		+ " VALUES(11,'大乔','2019-06-22',22.22,'我是谁');";
//		 String sq2 = "INSERT INTO USER (id,NAME,birthay,salary,RESUME)"
//			 		+ " VALUES(12,'孙策','2019-06-22',22.22,'我是谁');";
//		 String sq3 = "INSERT INTO USER (id,NAME,birthay,salary,RESUME)"
//			 		+ " VALUES(13,'狄仁杰','2019-06-22',22.22,'我是谁');";
//		 
		 //创建连接的sql语句
		 String sql = "DELETE FROM USER WHERE id = 11;";
		 String sq2 = "DELETE FROM USER WHERE id = 12;";
		 String sq3 = "DELETE FROM USER WHERE id = 13;";
		 
		 sta = conn.createStatement(); //创建执行sql语句的传递者
		 sta.addBatch(sql);//将要批处理的sql添加到批处理中
		 sta.addBatch(sq2);
		 sta.addBatch(sq3);
		 sta.executeBatch();  //执行批处理
//			pstmt.setString(1, "3");
//			pstmt.setString(2, "6");
//			rs = pstmt.executeQuery(sql);
//			while (rs.next()) {
//				System.out.println(rs.getObject(2));
//			}
		 System.out.println("删除成功!");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			JDBCUtils.release(sta, conn);//调用工具类方法关闭资源
		}
	}
	
}
在项目下建立一个属性文件,jdbc_connection.properties
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db1
username=root
password=123
发布了25 篇原创文章 · 获赞 4 · 访问量 722

猜你喜欢

转载自blog.csdn.net/qq_43149023/article/details/93540116