Java程序设计(12)

十六、JDBC

编程题: 使用JDBC对mysql数据库进行增删改查操作(选做)。

1.连接数据库

private static Connection connectDatabase(){
    //连接数据库的url是固定的格式,127.0.0.1是MySQL数据库的地址,test是数据库名
    String url = "jdbc:mysql://127.0.0.1/test";
    //user是登录数据库的用户名
	String user = "root";   
    //pwd是登录数据库的用户的密码 
	String pwd = "123";
    //声明一个Connection引用名
	Connection con = null;    
		try {
            //加载驱动
			Class.forName("com.mysql.cj.jdbc.Driver");
	        //实例化con连接数据库
        	con = DriverManager.getConnection(url, user, pwd);
            //没有产生异常就说明连接成功即输出Success!
    		System.out.println("Success!");
    	} catch (ClassNotFoundException e) {
            //捕获该异常说明驱动没有加载成功可以到JDBC的安装与配置查看重新配置
        	System.out.println(e.getMessage()+"  NOT FOUND!");
    	} catch (SQLException e) {
           //捕获异常该异常说明连接数据库错误,可能是用户名或密码错误。
    		System.out.println(e.getMessage());
    	}
    	return con;
}

2.向数据库中插入数据

private static int insertData(String name,String sex){
	//连接数据库
	Connection con = connectDatabase();
	//定义插入语句
	String sql = "INSERT INTO test_table VALUES('"+name+"','"+sex+"')";
	try {
		//准备好sql语句
		PreparedStatement pstmt = (PreparedStatement)con.prepareStatement(sql);
		//定义整型变量存放
		int count = pstmt.executeUpdate();
		//关闭数据库的链接
		con.close();
		return count;
	} catch (SQLException e) {
		// TODO: handle exception
		return 0;
	}
}

3.查询数据库中的数据

private static String queryData(){
	Connection con = connectDatabase();
	String sql = "SELECT * FROM test_table";
	try {
		PreparedStatement pstmt = (PreparedStatement) con.createStatement();
		ResultSet rs = pstmt.executeQuery(sql);
		if(rs.next()){
			String dataBuffer = rs.getString(1);
			return dataBuffer;
		}
		else
			return "null";
	} catch (SQLException e) {
		// TODO: handle exception
		return "ERROR!";
	}
}

4.修改数据库中的数据

private int dataUpdate(String newname,String ID) {
    //连接数据库
	Connection con = connectDatabase();
    //定义SQL语句
    String sql = "UPDATE test_table SET name='" +newname+ "' WHERE id='" + ID + "'";
    //定义一个整形变量存放受影响的行数
    int i = 0;
    PreparedStatement pstmt;
    try {
        pstmt = (PreparedStatement) con.prepareStatement(sql);
        i = pstmt.executeUpdate();
        con.close();
        return i;
    } catch (SQLException e) {
        e.printStackTrace();
        return -1;
    }
}

5.删除数据库中的数据

private int dataDelete(String username) {
    Connection con = connectDatabase();
    String sql = "DELETE FROM test_table WHERE id='"+userId+"'";
    int i = 0;
	PreparedStatement pstmt;
	try {
		pstmt = con.prepareStatement(sql);
        i = pstmt.executeUpdate();
        System.out.println(i);
        pstmt.close();
        con.close();
		return i;
	} catch (Exception e) {
		// TODO: handle exception
		e.printStackTrace();//捕获异常打印异常
	}
	return -1;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值