對數據庫增、刪、改、查的封裝

對數據庫增、刪、改、查的封裝

封裝類:

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

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章