对数据库增、删、改、查的封装
封装类:
package com.zscg;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DButil {
static String url="jdbc:mysql://localhost:3306/lianxi?serverTimezone=Asia/Shanghai";
static String user="root";
static String password="123456";
static Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
static{
try {
conn=DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
}
//查询
public ResultSet query(String str,Object[] obj){//占位符的个数需要和数组中数据的个数一致
try {
ps=conn.prepareStatement(str);
//给占位符赋值
for(int i=0;i<obj.length;i++){
ps.setObject(i+1, obj[i]);
}
rs=ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
//增、删、改
public int update(String str,Object[] obj){
int a=0;
try {
ps=conn.prepareStatement(str);
//给占位符赋值
for(int i=0;i<obj.length;i++){
ps.setObject(i+1, obj[i]);
}
a=ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return a;
}
//释放资源
public void close(){
try{
if(ps!=null){
ps.close();
}
if(conn!=null){
conn.close();
}
if(rs!=null){
rs.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
测试类增:
package com.zscg;
public class TestZeng {
public static void main(String[] args) {
DButil db=new DButil();
String str="insert into student(sname,ssex,class,biryear) values(?,?,?,?)";
Object[] obj={"赵","男","95044","2000"};
int i=db.update(str, obj);
System.out.println(i);
db.close();
}
}
测试类删:
package com.zscg;
public class TestShan {
public static void main(String[] args) {
DButil db=new DButil();
String str="delete from student where sid=?";
Object[] obj={23};
int i=db.update(str, obj);
System.out.println(i);
db.close();
}
}
测试类改:
package com.zscg;
public class TestGai {
public static void main(String[] args) {
DButil db=new DButil();
String str="update student set sname=?,class=? where sid=?";
Object[] obj={"小明","521","6"};
int i=db.update(str, obj);
System.out.println(i);
db.close();
}
}
测试类查:
package com.zscg;
import java.sql.ResultSet;
import java.sql.SQLException;
public class TestCha {
public static void main(String[] args) {
DButil db=new DButil();
String str="select * from student";
Object[] obj={};
ResultSet rs=db.query(str, obj);
try {
while(rs.next()){
int sid=rs.getInt(1);
String sname=rs.getString(2);
String ssex=rs.getString(3);
String sclass=rs.getString(4);
int year=rs.getInt(5);
System.out.println(sid+"\t"+sname+"\t"+ssex+"\t"+sclass+"\t"+year);
}
} catch (SQLException e) {
e.printStackTrace();
}
db.close();
}
}