Java 小白 使用jdbc进行查询 以及改变

package com.wj.demo01;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.junit.Test;

import com.mysql.jdbc.Driver;

public class Demo01 {
	
	//ResultSet遍历的方式
	@Test
	public void fun5() {
		//注册驱动
		Connection conn=null;
		Statement stmt=null;
		ResultSet rs=null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
			
			//获取连接
			String url="jdbc:mysql://localhost:3306/mydb3";
			String user="root";
			String password="1234";
			conn=DriverManager.getConnection(url, user, password);
			//获取发送sql语句的对象
			stmt=conn.createStatement();
			//执行sql语句并获取结果集
			String sql="select * from student";
			rs=stmt.executeQuery(sql);
			//处理结果集方式一,知道类名,数据类型可以获取到数据
			while(rs.next()) {
				int id=rs.getInt("id");
				String name=rs.getString("name");
				System.out.println(id+"-"+name);
			}
			//处理结果方式二,知道列下标[从1开始,数据类型
			//不好,只要数据库里面的列的顺序发生改变,代码就需要发生改变
//			while(rs.next()) {
//				int id=rs.getInt(1);
//				String name=rs.getString(2);
//				System.out.println(id+name);
//			}
			//关闭资源
			
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}catch(SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				if(rs!=null) {
					rs.close();
				}
				
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				if(stmt!=null) {
					stmt.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			
			try {
				if(conn!=null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		
	}
	
	
	
	// 我们使用execute方法执行增删改操作流程
	@Test
	public void fun4() throws SQLException, ClassNotFoundException {
		// 1.注册驱动
		Class.forName("com.mysql.jdbc.Driver");
		// 2.获取连接
		// String
		// url="jdbc:mysql://localhost:3306/mydb3?useUnicode=true&characterEncoding=utf8";
		String url = "jdbc:mysql://localhost:3306/mydb3";
		String user = "root";
		String password = "1234";
		Connection conn = DriverManager.getConnection(url, user, password);
		// 3.创建发送sql语句的对象
		Statement stmt = conn.createStatement();
		String sql = "update student set name='小六六' where id=4";
		// 4.执行sql语句,获取结果集
		boolean boo = stmt.execute(sql);

		// 5.处理结果集

		if (!boo) {
			int count = stmt.getUpdateCount();
			System.out.println("受影响的行数是:" + count);
		}
		// 6.关闭资源
		stmt.close();
		conn.close();
	}

	// 我们使用execute方法执行查询操作流程
	@Test
	public void fun3() throws SQLException, ClassNotFoundException {
		// 1.注册驱动
		Class.forName("com.mysql.jdbc.Driver");
		// 2.获取连接
		// String
		// url="jdbc:mysql://localhost:3306/mydb3?useUnicode=true&characterEncoding=utf8";
		String url = "jdbc:mysql://localhost:3306/mydb3";
		String user = "root";
		String password = "1234";
		Connection conn = DriverManager.getConnection(url, user, password);
		// 3.创建发送sql语句的对象
		Statement stmt = conn.createStatement();
		String sql = "select * from student";
		// 4.执行sql语句,获取结果集
		boolean boo = stmt.execute(sql);

		// 5.处理结果集
		ResultSet rs = null;
		if (boo) {
			rs = stmt.getResultSet();
			while (rs.next()) {
				System.out.println(rs.getInt("id") + ":" + rs.getString("name"));
			}

		}
		// 6.关闭资源
		rs.close();
		stmt.close();
		conn.close();
	}

	@Test
	public void testJDBCHelloWorld() throws SQLException, ClassNotFoundException {
		// 1.注册驱动
		// DriverManager.registerDriver(new Driver());
		// 就是将Driver类加载到内存中
		Class.forName("com.mysql.jdbc.Driver");
		// 2.获取连接
		Connection conn = DriverManager.getConnection(
				"jdbc:mysql://localhost:3306/mydb3?useUnicode=true&characterEncoding=utf8", "root", "1234");
		// 3.书写sql
		String sql = "select * from student";
		// 4.获得发送sql语句的对象
		Statement stmt = conn.createStatement();
		// 5.执行sql语句,并获取结果集
		ResultSet rs = stmt.executeQuery(sql);
		while (rs.next()) {
			Integer id = rs.getInt("id");// 获取student表中id的值,因为id是int类型,所以通过方法getInt去获取
			String name = rs.getString("name");// 获取student表中的name的值,name是varchar类型,所以通过方法getString获取name的值
			String add = rs.getString("city");
			Integer age = rs.getInt("age");
			System.out.println(id + ":" + name + ":" + add + ":" + age);
		}
		// 6.关闭资源

		rs.close();
		stmt.close();
		conn.close();
	}

	// @override @Overload

	// 如果使用@Test 方法的定义没有参数没有返回值
	@Test
	public void fun2() {
		System.out.println("hhhh");
	}

	@Test
	public void fun1() {
		System.out.println("斤斤计较");
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值