对数据库增、删、改、查的封装

对数据库增、删、改、查的封装

封装类:

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();
	}

}

发布了12 篇原创文章 · 获赞 9 · 访问量 1102

猜你喜欢

转载自blog.csdn.net/qq_38274974/article/details/98721888
今日推荐