jdbc连接数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdbc连接数据库相关的知识,希望对你有一定的参考价值。

我们先看看我们最熟悉也是最基础的通过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连接数据库的代码问题jdbc连接mysql数据库

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段

JDBC——数据库连接池以及JDBC代码模版模版

求用jdbc 连接数据库的java代码(只连接部分即可)

JDBC连接数据库

JDBC连接数据库