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("斤斤计较");
}
}
Java 小白 使用jdbc进行查询 以及改变
最新推荐文章于 2023-02-06 08:14:46 发布