JDBC--curd

user

public class User {
private String name;
private String password;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public String getPassword() {
	return password;
}
public void setPassword(String password) {
	this.password = password;
}
public User() {
	super();
}
public User(String name, String password) {
	super();
	this.name = name;
	this.password = password;
}
@Override
public String toString() {
	return "User [name=" + name + ", password=" + password + "]";
}

}

utils

public class DBUtils {
	private static String driverClass;
	private static String url;
	private static String user;
	private static String password;
	
	static{
		//加載配置文件
		ResourceBundle rb=ResourceBundle.getBundle("info"); //info src下配 +置文件   在同一文件夾下
		driverClass = rb.getString("driverClass");
		url = rb.getString("url");
		user=rb.getString("user");
		password=rb.getString("password");
		try {
			Class.forName(driverClass);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	//獲取連接       Connection  導包  java.sql.Connection
	public static Connection getConnection() throws SQLException{
	
			return DriverManager.getConnection(url,user,password);
		
	}
		//釋放資源  
	public static void closeAll(ResultSet rs,Statement stmt,Connection conn){
		if(rs!=null){
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			rs=null;
		}
		
		if(stmt!=null){
			try {
				stmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			stmt=null;
		}
		
		if(conn!=null){
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			stmt=null;
		}
				
	}
	
}

curd測試

public class TestCurd {
	
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		TestCurd tc = new TestCurd();
		
		System.out.println("請輸入:1.查詢,2.添加,3.修改,4.刪除");
		while(true){
		
			int in=sc.nextInt();	
		switch(in){
		case 1 :
			System.out.println("查詢全部數據");
			tc.testSelevt();
			continue;
			
		case 2 :
			
			System.out.println("請輸入要添加的姓名 密碼");
			String s1=sc.next();
			String [] arr=s1.split(",");
			User u=new User(arr[0],arr[1]);
			
			tc.testInsert(u);
			continue;
		case 3 :
			System.out.println("請輸入要修改的姓名和修改後的密碼");
			String s2=sc.next();
			//按姓名修改
			String[] arr1 = s2.split(",");
			User u1=new User(arr1[0],arr1[1]);
			
			tc.testUpdate(u1);
			
			continue;
		case 4:
			System.out.println("輸入要刪除的姓名");
			String s3=sc.next();
			User u2=new User();
			u2.setName(s3);
			tc.testDelete(u2);
			continue;
		default :
			System.out.println("輸入有誤");
		}
		}
	}
public void testSelevt() {
		//加載驅動  獲取連接
		Connection conn = null;
		//獲取預編譯sql的執行對象
		PreparedStatement ps = null;
		//執行sql語句
		ResultSet rs = null;
		try {
			conn = DBUtils.getConnection();
			String sql="select*from user";
			/*System.out.println(sql);*/
			ps = conn.prepareStatement(sql);
			rs = ps.executeQuery();
			while(rs.next()){
				System.out.print(rs.getString("name"));
				System.out.print(rs.getString("password"));
				System.out.println();
			}
		} catch (SQLException e) {
		
			e.printStackTrace();
		}finally{
		DBUtils.closeAll(rs, ps, conn);
		}
	}	
	
	//update  增 添加
public void testInsert(User u) {
	Connection conn = null;
	//獲取執行sql語句對象
	PreparedStatement ps = null;
	try {
		conn = DBUtils.getConnection();
		ps = conn.prepareStatement("INSERT INTO USER (NAME,PASSWORD)VALUES(?,?)");	
		ps.setString(1, u.getName());
		ps.setString(2,u.getPassword());
		
		//執行sql語句    result
		int result = ps.executeUpdate();
		
		if(result>0){
			System.out.println("添加成功"+result);
		}else{
			System.out.println("失敗");
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}finally {
		//關閉資源
		DBUtils.closeAll(null,ps,conn);
	}
	}
	//修改
public void testUpdate(User u) {
	Connection conn=null;
	PreparedStatement ps=null;
	try {
		 conn=DBUtils.getConnection();
		String sql="update user set password=? where name=?";
		
		 ps=conn.prepareStatement(sql);
		ps.setString(1,u.getPassword());
		ps.setString(2, u.getName());
		int jieguo = ps.executeUpdate();
		if(jieguo>0){
			System.out.println("修改成功"+jieguo);
		}else{
			System.out.println("修好失敗");
		}
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally{	
		DBUtils.closeAll(null, ps, conn);
	}
}
public void testDelete(User u) {
	Connection conn = null;
	PreparedStatement ps = null;
	try {
		conn = DBUtils.getConnection();
		String sql="delete from User where name=?";
		ps = conn.prepareStatement(sql);
		ps.setString(1, u.getName());
		int result = ps.executeUpdate();
		if(result>0){
			System.out.println("刪除成功");
		}else{
			System.out.println("刪除失敗");
			}
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	DBUtils.closeAll(null, ps, conn);
	}
}

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