先使用之前写的JDBCUtil类
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class JDBCUtil {
static Properties pros = null;//读取资源文件的信息
static {//加载JDBCUtil类时候调用
pros = new Properties();
try {
pros.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties"));
} catch (IOException e) {
e.printStackTrace();
}
}
public static Connection getMysqlConn() {
try {
Class.forName(pros.getProperty("mysqlDriver"));
return DriverManager.getConnection(pros.getProperty("mysqlUrl"),pros.getProperty("mysqlUser"),pros.getProperty("mysqlPwd"));
} catch (Exception e) {
return null;
}
}
public static void close(ResultSet rs,Statement ps, Connection conn) {
try {
if (rs!= null) {
rs.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if (ps!= null) {
ps.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if (conn!= null) {
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
数据库配置文件
mysqlDriver:com.mysql.cj.jdbc.Driver
mysqlUrl:jdbc:mysql://localhost:3306/sorm?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
mysqlUser:root
mysqlPwd:root
使用Object数组存储一个数组
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/*
* 使用Object数组存储一个数组
*
*
*/
public class Demo01 {
public static void main(String[] args) {
Connection conn = JDBCUtil.getMysqlConn();
PreparedStatement ps = null;
ResultSet rs = null;
List<Object[]> list = new ArrayList<Object[]>();
try {
ps = conn.prepareStatement("select empname,age,salary from emp ");
rs = ps.executeQuery();
while (rs.next()) {
Object[] objs = new Object[3];
objs[0] = rs.getObject(1);
objs[1] = rs.getObject(2);
objs[2] = rs.getObject(3);
list.add(objs);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JDBCUtil.close(rs, ps, conn);
}
for (Object[] objects : list) {
System.out.println(objects[0] + "--" + objects[1] +"--" + objects[2]);
}
}
}
使用Map封装一条记录,使用list存储多条记录
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/*
* 使用Map封装一条记录,使用list存储多条记录
*
*/
public class Demo02 {
public static void main(String[] args) {
Connection conn = JDBCUtil.getMysqlConn();
PreparedStatement ps = null;
ResultSet rs = null;
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
try {
ps = conn.prepareStatement("select empname,age,salary from emp where id > ? ");
ps.setObject(1, 2);
rs = ps.executeQuery();
while (rs.next()) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("empname", rs.getObject(1));
map.put("age", rs.getObject(2));
map.put("salary", rs.getObject(3));
list.add(map);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JDBCUtil.close(rs, ps, conn);
}
for (Map<String, Object> map : list) {
for (String key : map.keySet()) {
System.out.print(key + ":" +map.get(key) + "\t");
}
System.out.println();
}
}
}
使用Map封装一条记录,使用Map存储多条记录
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/*
* 使用Map封装一条记录,使用Map存储多条记录
*
*/
public class Demo03 {
public static void main(String[] args) {
Connection conn = JDBCUtil.getMysqlConn();
PreparedStatement ps = null;
ResultSet rs = null;
Map<String,Map<String, Object>> maps = new HashMap<String,Map<String,Object>>();
try {
ps = conn.prepareStatement("select empname,age,salary from emp where id > ? ");
ps.setObject(1, 2);
rs = ps.executeQuery();
while (rs.next()) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("empname", rs.getObject(1));
map.put("age", rs.getObject(2));
map.put("salary", rs.getObject(3));
maps.put(rs.getString(1), map);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JDBCUtil.close(rs, ps, conn);
}
for (String key : maps.keySet()) {
Map<String, Object> map = maps.get(key);
for (String value : map.keySet()) {
System.out.print(value + ":" +map.get(value) + "\t");
}
System.out.println();
}
}
}
使用javabean封装一条数据 用list存储多条
首先写好Emp类 表结构与属性的对应
import java.sql.Date;
public class Emp {
private Integer id;
private Integer age;
private Integer deptid;
private Double salary;
private String empname;
private Date birthday;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getDeptid() {
return deptid;
}
public void setDeptid(Integer deptid) {
this.deptid = deptid;
}
public Double getSalary() {
return salary;
}
public void setSalary(Double salary) {
this.salary = salary;
}
public String getEmpname() {
return empname;
}
public void setEmpname(String empname) {
this.empname = empname;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public Emp(Integer age, Double salary, String empname) {
super();
this.age = age;
this.salary = salary;
this.empname = empname;
}
public Emp() {
}
}
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/*
* 使用Map封装一条记录,使用Map存储多条记录
*
*/
public class Demo04 {
public static void main(String[] args) {
Connection conn = JDBCUtil.getMysqlConn();
PreparedStatement ps = null;
ResultSet rs = null;
List<Emp> list = new ArrayList<Emp>();
try {
ps = conn.prepareStatement("select empname,age,salary from emp where id > ? ");
ps.setObject(1, 2);
rs = ps.executeQuery();
while (rs.next()) {
Emp emp = new Emp(rs.getInt(2),rs.getDouble(3),rs.getString(1));
list.add(emp);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JDBCUtil.close(rs, ps, conn);
}
for (Emp emp : list) {
System.out.println(emp.getEmpname() + "--" + emp.getAge() + "--" + emp.getSalary());
}
}
}