JDBC连接MySQL数据库实现增删改查

1.executeQuery(String sql); 执行sql,实现查询,并返回ResultSet 对象。
2. executeUpdate(String sql); 执行sql语句,可实现增添,修改,删除,返回执行受到影响的行数,因而不能执行查询操作。
代码如下

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;

public class StuOpe {
	/* 创建Connection,ResultSet,Statement接口的成员变量*/
	private static Connection con=null;
	private static ResultSet res=null;
	private static Statement sta=null; 
	private static String sql=null;
	/*创建释放对象占用的数据库和JDBC资源的方法
	*try catch语句多catch语句时顺序执行
	执行第一个与异常类匹配的catch语句,其后catch被忽略*/
	private static void closeOPE(Connection con,ResultSet res,Statement sta) {
		try {
			if (res!=null) {
				res.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		try {
			if (sta!=null) {
				sta.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		try {
			if (con!=null) {
				con.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}//end of closeOPE()
	public static void main(String[] args) {
		welcome();
		while(true) {
			menu();
		}
	} //end of main()
	static void welcome() {
		System.out.println("****************************************");
		System.out.println("*\t\t\t\t\t*");
		System.out.println("*\t欢迎使用用户注册管理系统\t\t*");
		System.out.println("*\t\t\t\t\t*");
		System.out.println("****************************************");
	} //end of welcome()
	static void menu() {
		System.out.println("1.添加 2.修改 3.删除 4.查询");
		System.out.println("请输入操作,以Enter键结束");
		Scanner sc=new Scanner(System.in);      //创建扫描器
		int operation=sc.nextInt();
		try {
			Class.forName("com.mysql.jdbc.Driver");   //加载mysql数据库驱动类
			con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root"); //获取数据库连接对象
			sta=con.createStatement();        //使用连接数据库对象con的createStatement()方法创建Statement对象
			                          
		} catch (Exception e) {
			e.printStackTrace();
		}	
		switch(operation) {
		case 1: //添加	
			System.out.println("请输入学生的id,姓名,手机号,地址   用空格间隔,enter键结束");
			String id=sc.next();
			String name=sc.next();
			String mobile=sc.next();
			String address=sc.next();	
			try {
				sql="select * from user_ope where id='"+id+"'";
				res=sta.executeQuery(sql);   //executeQuery()执行SQL查询,并返回ResultSet 对象。
				
				while(res.next()) {             //next()指针下移一行,为空返回false
					System.out.println("id"+id+"存在,添加失败");
					return;
				}
				sql="insert into user_ope(id,name,mobile,address) values('"+id+"','"+name+"','"+mobile+"','"+address+"')";
				if(sta.executeUpdate(sql)>0) {      //executeUpdate()方法执行了sql对象中的添加语句,返回int类型,表示受影响数据条数,>0即添加操作成功     
					System.out.println("id="+id+"name="+name+"添加成功");
				}
			} catch (Exception e) {
				e.printStackTrace();
			}finally {
				closeOPE(con,res,sta);			
			}	
			break;
		case 2:  //修改		
			System.out.println("请输入要修改的id,修改后姓名,手机号,地址   用 空格间隔,enter键结束");
			id=sc.next();
			
			name=sc.next();
			mobile=sc.next();
			address=sc.next();	
			try {		
				sql="update user_ope set name='"+name+"',address='"+address+"',mobile='"+mobile+"'  where id='"+id+"'";
				if(sta.executeUpdate(sql)>0) {      //executeUpdate()方法执行了sql对象中的修改语句,返回int类型,表示受影响数据条数,>0即添加操作成功     
					System.out.println("id="+id+"修改成功");
				}else {
					System.out.println(id+"不存在");
				}
			} catch (Exception e) {
				e.printStackTrace();
			}finally {
				closeOPE(con,res,sta);			
			}				
			break;	
		case 3:  //删除
			System.out.println("请输入要删除的id  enter键结束");
			id=sc.next();
			try {
				sql="delete from user_ope where id='"+id+"'";
				if(sta.executeUpdate(sql)>0) {      //executeUpdate()方法执行了sql对象中的删除语句,返回int类型,表示受影响数据条数,>0即添加操作成功     
					System.out.println("id="+id+"删除成功");
				}else {
					System.out.println(id+"不存在");
				}
			} catch (Exception e) {
				e.printStackTrace();
			}finally {
				closeOPE(con,res,sta);			
			}				
			break;	
		case 4:  //查询
			System.out.println("请输入要查询的id  enter键结束");
			id=sc.next();
			try {
				sql="select * from user_ope where id='"+id+"'";
				res=sta.executeQuery(sql);
				while(res.next()) {
					id=res.getString("id");
					name=res.getString("name");
					mobile=res.getString("mobile");
					address=res.getString("address");
					System.out.println("id="+id+",name="+name+",mobile="+mobile+"address="+address);
				}
			} catch (Exception e) {
				e.printStackTrace();
			}finally {
				closeOPE(con,res,sta);			
			}			
			break;	
		default:
			System.out.println("无效输入");
		}//end of switch
	}     //end of menu()
}     //end of class


猜你喜欢

转载自blog.csdn.net/qq_44724446/article/details/89681981