时间:2021-07-01 10:21:17 帮助过:18人阅读
(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 数据库连接