@Test
//增删改查的通用方法 自己写的测试
public void test6() {
// 获取具体sql
// String sql ="delete from customers where id=?";
// try {
// updateInfo(sql,20);
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
String sql = "update `order` set order_name=?,order_id=? where order_id=?";
try {
updateInfo(sql,"CC",3,3);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//传入要执行的sql语句(只设计增删改),查询的参数args与对应的sql中的字段一致 自己写的
public void updateInfo(String sql,Object...args) throws Exception {
Connection conn=null;
PreparedStatement p1=null;
try {
//1.首先和之前一样先获得4个基本信息,也就是获得配置文件
InputStream is = ClassLoader.getSystemClassLoader().getSystemResourceAsStream("jdbc.properties");
Properties p = new Properties();
p.load(is);
String url=p.getProperty("url");
String user = p.getProperty("user");
String psw = p.getProperty("password");
String Diver = p.getProperty("driverClass");
//2.注册驱动
Class.forName(Diver);
//3.获取链接
conn = DriverManager.getConnection(url, user, psw);
//4.获取PreparedStatement 预准备编译
p1 = conn.prepareStatement(sql);
//接下来具体的增删改操作循环,此时你有多少个参数就执行多少次,所以是args.length
for(int i =0 ;i
//1.首先和之前一样先获得4个基本信息,也就是获得配置文件
InputStream is = ClassLoader.getSystemClassLoader().getSystemResourceAsStream("jdbc.properties");
Properties p = new Properties();
p.load(is);
String url=p.getProperty("url");
String user = p.getProperty("user");
String psw = p.getProperty("password");
String Diver = p.getProperty("driverClass");
//2.注册驱动
Class.forName(Diver);
//3.获取链接
conn = DriverManager.getConnection(url, user, psw);
//4.获取PreparedStatement 预编译准备
p1 = conn.prepareStatement(sql);
//接下来具体的增删改操作循环,此时你有多少个参数就执行多少次,所以是args.length
for(int i =0 ;i
//注意前面的参数是对应数据库中的哪个字段,而索引是从1开始的,所以是i+1,而后面的是java中的数组所以是i
p1.setObject(i+1,args[i]);
}
//执行
p1.execute();
//最后关闭资源
finally {
try {
if(p1!=null)
p1.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();
}
}
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Date;
import java.util.Properties;
import javax.management.Query;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;
public class TestQuery {
@Test
public void test() {
//查
Connection conn=null;
PreparedStatement ps= null;
ResultSet resultSet=null;
try {
//1.获取4个基本信息
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
Properties p = new Properties();
p.load(is);
String url = p.getProperty("url");
String user = p.getProperty("user");
String psw = p.getProperty("password");
String Driver = p.getProperty("driverClass");
//2.注册驱动
Class.forName(Driver);
//3.获取链接
conn = DriverManager.getConnection(url, user, psw);
//4.获取具体的sql执行语句
String sql="select id,name,email,birth from customers where id=?";
//5.获取预编译准备
ps = conn.prepareStatement(sql);
ps.setObject(1, 1);
//执行,并返回结果集
resultSet = ps.executeQuery();
//处理结果集
if(resultSet.next()) {
//resultSet() 有个方法next():功能是
//1.判断一下下一个位置有没有字符 有则返回true并指针下移,若返回false则不下移。
//获取当前这条数据的各个字段值
int id = resultSet.getInt(1);
String name = resultSet.getString(2);
String email = resultSet.getString(3);
Date birth = resultSet.getDate(4);
//方式一:比较low
// System.out.println("id = "+id+",name = "+name + ",email = " + email
// +",birth = "+birth);
//方式二:
// Object [] data = new Object[] {id,name,email,birth};
//方式三:将数据封装为一个对象(推荐,在代码1中看具体怎么包装)
QueryBean b = new QueryBean(id,name,email,birth);
System.out.println(b);
}
conn = DriverManager.getConnection(url, user, psw);
} catch (Exception e) {
e.printStackTrace();
}finally {
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(resultSet!=null) {
try {
resultSet.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
此外针对对数据封装在一个类中 该类由以下组成
代码1:
import java.sql.Date;
public class QueryBean {
private int id;
private String name;
private String email;
private Date birth;
public QueryBean() {
super();
}
public QueryBean(int id, String name, String email, Date birth) {
super();
this.id = id;
this.name = name;
this.email = email;
this.birth = birth;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
@Override
public String toString() {
return "QuetyBean [id=" + id + ", name=" + name + ", email=" + email + ", birth=" + birth + "]";
}
}



