栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

JDBC-数据库连接

JDBC-数据库连接

package com.atguigu.utils;

import java.lang.reflect.Field;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetmetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class JDBCUtil {
	
	
	public static Connection getConnection() {
		String user = "root";
		String password = "123456";
		String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8";
		String driverClass = "com.mysql.jdbc.Driver";
		
		try {
			Class.forName(driverClass);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(url, user, password);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return conn;
	}
	
	public static int update(String sql, Object ...objects) {
		Connection conn = null;
		PreparedStatement ps = null;
		try {
			conn = JDBCUtil.getConnection();
			//String sql = "INSERT INTO customers(`name`, email, birth) VALUES(?, ?, ?);";
			ps = conn.prepareStatement(sql);
			
			for(int i = 0; i < objects.length; i++) {
				ps.setObject(i + 1, objects[i]);
			}
			
			int result = ps.executeUpdate();
			
			return result;
			
		}catch(SQLException e) {
			e.printStackTrace();
		}finally {
			JDBCUtil.closeConnection(conn, ps, null);
		}
		
		return 0;
	}
	
	public static  List preparedStatementQuery(Class clazz, String sql, Object ...objects) {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		
		try {
			conn = JDBCUtil.getConnection();
			ps = conn.prepareStatement(sql);
			for(int i = 0; i < objects.length; i++) {
				ps.setObject(i + 1, objects[i]);
			}
			
			rs = ps.executeQuery();
			
			ResultSetmetaData rsmd = rs.getmetaData();
			
			int columnCount = rsmd.getColumnCount();
			
			ArrayList list = new ArrayList();
			
			while(rs.next()) {
				T t = clazz.newInstance();
				for(int i = 0; i < columnCount; i++) {
					String columName = rsmd.getColumnName(i + 1);
					Object columValue = rs.getObject(i + 1);//获取值
					
					Field field = t.getClass().getDeclaredField(columName);
					field.setAccessible(true);
					field.set(t, columValue);
				}
				list.add(t);
			}
			
			return list;
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch(InstantiationException e) {
			e.printStackTrace();
		}catch(IllegalAccessException e) {
			e.printStackTrace();
		}catch(NoSuchFieldException e) {
			e.printStackTrace();
		}catch(SecurityException e) {
			e.printStackTrace();
		}finally {
			JDBCUtil.closeConnection(conn, ps, rs);
		}
		
		
		return null;
	}
	
	public static void closeConnection(Connection conn, PreparedStatement ps, ResultSet rs) {
		try {
			if(conn != null) {
				conn.close();
			}
			if(ps != null) {
				ps.close();
			}
			if(rs != null) {
				rs.close();
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/688494.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号