当前位置:Gxlcms > 数据库问题 > jdbc连接数据库

jdbc连接数据库

时间:2021-07-01 10:21:17 帮助过:18人阅读

JDBC查询数据库数据,一般需要以下七个步骤:

1)  加载JDBC驱动

2)  建立并获取数据库连接

3)  创建 JDBC Statements 对象

4)  设置SQL语句的传入参数

5)  执行SQL语句并获得查询结果

6)  对查询结果进行转换处理并将处理结果返回

7)  释放相关资源(关闭Connection,关闭Statement,关闭ResultSet)

//获取数据库连接的工具类

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

public class ConnectionUtils {
	
	static {
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	public static Connection getConnection(String url,String user,String password) throws SQLException {
		return DriverManager.getConnection(url, user, password);
	}
}

//一个查询得具体实现

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class jdbc2 {

	public List<Map<String,Object>> query() {
		Connection conn = null;
		ResultSet rs = null;
		PreparedStatement ps = null;
		List<Map<String,Object>> list = new ArrayList<>();
		
		String user = "root";
		String password = "0000";
		String url = "jdbc:mysql://localhost:3306/emp";
		String sql = "select * from emp where name = ?";
		try {
			conn = ConnectionUtils.getConnection(url, user, password);
			ps = conn.prepareStatement(sql);
			ps.setString(1, "哈哈");
			rs = ps.executeQuery();
			//获得表结构
			ResultSetMetaData rsmd = rs.getMetaData();  
	        int num = rsmd.getColumnCount(); 
	        while(rs.next()) {
	        	Map map = new HashMap<String,Object>();
	        	for (int i = 0; i < num; i++) {
					String columname = rsmd.getColumnName(i + 1);
					map.put(columname, rs.getString(columname));
				}
	        	list.add(map);
	        }
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
				try {
					if(rs != null) {
						rs.close();
						rs = null;
					}
					if(ps != null) {
						ps.close();
						ps = null;
					}
					if(conn != null) {
						conn.close();
						conn = null;
					}
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		return list;
	}
}


jdbc连接数据库

标签:jdbc   数据库连接   

人气教程排行