目录
- 一)准备工作
- 1.下载链接需要的jar包
- 2.下载之后添加到模块里
- 3.创建一个工具类Util
- 二)连接
- 三)查询
- 四)添加
- 五)删除数据
- 六)封装之后的代码总和
- 封装类
- 使用测试类
- 总结
我是应用Java封装的思想将所有的方法封装到了一个类里。
一)准备工作
1.下载链接需要的jar包
选择最新版本即可。
2.下载之后添加到模块里
3.创建一个工具类Util
书写空参构造,用于对数据库的全部操作。
二)连接
所需内容:数据库名,端口号,数据库地址,数据库用户名,密码
public static Connection Connect(){
Connection c = null;
try {
Class.forName("org.postgresql.Driver");
c = DriverManager
.getConnection("jdbc:postgresql://服务器地址,本机写127.0.0.1:服务器端口号,默认5432/链接的数据库名",
"数据库用户名", "数据库密码");
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getClass().getName()+": "+e.getMessage());
System.exit(0);
}
System.out.println("Opened database successfully");
return c; //记得返回一下这个对象,后面一直在用
}
三)查询
普通版本查询:数据库有三个字段,时间time、地点location、温度temperature
public static void select() {
//与数据库建立链接
Connection c = Util.Connect();
Statement stmt = null;
try {
stmt = c.createStatement();
String sql = "SELECT* FROM tmps;";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
Date date = rs.getDate(1);
String location = rs.getString("location");
float temperature = rs.getFloat("temperature");
System.out.println("date" + date);
System.out.println("location:" + location);
System.out.println("temperature:" + temperature);
}
//关流操作
rs.close();
stmt.close();
c.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
下图中这种方法属于进阶方法,只需要输入sql语句即可将任意表中的数据都按照map集合的方式返回
public static List Select(String sql){
//1、与数据库建立链接
Connection c = Util.Connect();
//2、创建操作对象
Statement stmt = null;
//3、创建返回最终查询的数据集合
List list=new ArrayList();
try {
//2.1、初始化操作对象
stmt = c.createStatement();
//4、执行需要执行的sql语句
ResultSet rs = stmt.executeQuery(sql);
//3.1开始封装返回的对象
ResultSetMetaData metaData = rs.getMetaData();//获取全部列名
int columnCount = metaData.getColumnCount();//列的数量
//5、读取数据
while (rs.next()) {
HashMap map=new HashMap();
for (int i = 1; i