我爱Java系列之《JavaEE学习笔记day18》---【原生JDBC】

04_jdbc概念
/*
开发步骤
1. 注册驱动.
告诉JVM,使用的是哪个数据库

2. 获得连接.
java是面向对象的编程语言,任何事物都可以定义类,创建对象

就是连接数据库,获取到数据库的连接对象,Connection对象

3. 获得执行sql语句的对象
Connection连接对象获取执行sql语句的Statement对象

4. 执行sql语句,并返回结果
Statement对象,执行增删改,返回结果,返回int数字,代表的是影响的行数
Statement对象,执行查询,返回结果集ResultSet对象

5. 处理结果
增删改,返回结果,返回int数字,代表的是影响的行数,不用处理
执行查询,返回结果集ResultSet对象,需要处理,遍历或者封装对象

6. 释放资源.
Connection对象
Statement对象
ResultSet对象
以上3个对象,都有close方法
开发程序代码演示:
public class Demo05JDBC {
//查询一条记录
@Test
public void queryOne() throws Exception {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");

//2.获取连接Connection对象
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day18", "root", "abc");

//3.获取执行SQL语句的Statement对象
Statement stmt = con.createStatement();

//定义查询的sql语句
String sql = "SELECT * FROM scores WHERE sid=1";
//4.Statement对象执行sql语句,获取结果集
ResultSet rs = stmt.executeQuery(sql);

//遍历输出结果集
if (rs.next()) {
int sid = rs.getInt(1);//根据列的编号获取
int score = rs.getInt(2);
String sname = rs.getString("sname");//根据列名获取
System.out.println("编号: "+sid+", 姓名: "+sname+", 成绩: "+score);
} else {
System.out.println("没有该学生");
}

//5.关闭资源
con.close();
stmt.close();
rs.close();
}
//查询所有记录
@Test
public void queryAll() throws Exception {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");

//2.获取连接Connection对象
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day18", "root", "abc");

//3.获取执行SQL语句的Statement对象
Statement stmt = con.createStatement();

//定义查询所有的sql
String sql = "select * from scores";

//4.Statement对象执行sql语句
ResultSet rs = stmt.executeQuery(sql);

//遍历输出结果集
while(rs.next()) {
Object sid = rs.getObject(1);//根据列编号获取值,返回的是Object类型
Object score = rs.getObject("score");//根据列名称获取值,返回的是Object类型
Object sname = rs.getObject(3);
System.out.println("编号: "+sid+", 姓名: "+sname+", 成绩: "+score);
}

//5.关闭资源
con.close();
stmt.close();
rs.close();
}
}
JDBC中常用的增、删、改、查
public class Demo04JDBC {
//添加一条记录
@Test
public void addOne() throws Exception {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2. 获得连接.
//定义数据库的连接地址
String url = "jdbc:mysql://localhost:3306/day18";
//定义用户名
String userName = "root";
//定义密码
String passWord = "abc";
//调用方法,获取到数据库的连接对象
Connection con = DriverManager.getConnection(url, userName, passWord);
//3. 获得执行sql语句的对象
Statement stmt = con.createStatement();

//定义sql语句
String sql = "insert into scores(sid,score,sname) values(1,100,'柳岩')";

//Statement对象调用executeUpdate方法执行sql语句,获取结果
int result = stmt.executeUpdate(sql);
if(result>0) {
System.out.println("添加一条记录成功");
} else {
System.out.println("添加一条记录失败");
}
//关闭资源
stmt.close();
con.close();
}
//删除一条记录
@Test
public void deleteOne() throws Exception {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2. 获得连接.
//定义数据库的连接地址
String url = "jdbc:mysql://localhost:3306/day18";
//定义用户名
String userName = "root";
//定义密码
String passWord = "root";
//调用方法,获取到数据库的连接对象
Connection con = DriverManager.getConnection(url, userName, passWord);
//3. 获得执行sql语句的对象
Statement stmt = con.createStatement();

//定义sql语句
String sql = "DELETE FROM products WHERE pid='p008';";

//Statement对象调用executeUpdate方法执行sql语句,获取结果
int result = stmt.executeUpdate(sql);
System.out.println(result);
if(result==1) {
System.out.println("删除一条记录成功");
} else {
System.out.println("删除一条记录失败");
}
//关闭资源
stmt.close();
con.close();
}
//修改一条记录
@Test
public void updateOne() throws Exception {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");

//2.获取连接Connection对象
//定义数据库的连接地址
String url = "jdbc:mysql://localhost:3306/day18";
//定义用户名
String userName = "root";
//定义密码
String passWord = "abc";

Connection con = DriverManager.getConnection(url, userName, passWord);

//3.获取执行SQL语句的Statement对象
Statement stmt = con.createStatement();

//4.Statement对象执行sql语句
String sql = "update scores set score=60 where sname='柳岩'";
int result = stmt.executeUpdate(sql);
if(result>0) {
System.out.println("修改一条记录成功");
} else {
System.out.println("修改一条记录失败");
}
//关闭资源
stmt.close();
con.close();

}
//查询一条记录
@Test
public void queryOne() throws Exception {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");

//2.获取连接Connection对象
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day18", "root", "abc");

//3.获取执行SQL语句的Statement对象
Statement stmt = con.createStatement();

//定义查询的sql语句
String sql = "SELECT * FROM scores WHERE sid=1";
//4.Statement对象执行sql语句,获取结果集
ResultSet rs = stmt.executeQuery(sql);

//遍历输出结果集
if (rs.next()) {
int sid = rs.getInt(1);//根据列的编号获取
int score = rs.getInt(2);
String sname = rs.getString("sname");//根据列名获取
System.out.println("编号: "+sid+", 姓名: "+sname+", 成绩: "+score);
} else {
System.out.println("没有该学生");
}

//5.关闭资源
con.close();
stmt.close();
rs.close();
}
//查询所有记录
@Test
public void queryAll() throws Exception {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");

//2.获取连接Connection对象
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day18", "root", "abc");

//3.获取执行SQL语句的Statement对象
Statement stmt = con.createStatement();

//定义查询所有的sql
String sql = "select * from scores";

//4.Statement对象执行sql语句
ResultSet rs = stmt.executeQuery(sql);

//遍历输出结果集
while(rs.next()) {
Object sid = rs.getObject(1);//根据列编号获取值,返回的是Object类型
Object score = rs.getObject("score");//根据列名称获取值,返回的是Object类型
Object sname = rs.getObject(3);
System.out.println("编号: "+sid+", 姓名: "+sname+", 成绩: "+score);
}

//5.关闭资源
con.close();
stmt.close();
rs.close();
}
}


猜你喜欢

转载自www.cnblogs.com/hujunwei/p/10848885.html