第一章 JDBC基础操作 ② 代码
1.jar包的安装与异常处理
1.1安装jar包
1.2 异常报错
3.异常处理
2.连接数据库
package com.yzh70721.test1JDBC;
import java.sql.*;
import java.util.Collection;
/**
* @author: XYT
* @create-date: 2022/7/21 11:32
*/
public class Test {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
test1();
}
//java连接数据库
public static void test1() throws ClassNotFoundException, SQLException {
//数据库驱动接口,可以创建数据库连接
//Driver drever=null;
//数据库连接接口,用于跟数据库之间搭建桥梁,并能创建命令执行对象
Connection connection=null;
//sql命令执行接口,用于执行增删改查语句。执行查询时会返回结果集对象
Statement statement=null;
//接口集接口,用于读取查询结果
ResultSet resultSet=null;
//数据库连接属性
//url:数据库地址
//useSSL:是否加密传输
//characterEncoding:字符编码
//severTimezone:时区
String url="jdbc:mysql://localhost:3306/70713_db4?useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
//user:数据库用户名
String user="root";
//password:数据库密码
String password="123456";
//使用java的驱动管理类加载数据据库驱动,从而获取连接对象
//使用反射的方式,将驱动类加载到jvm中
Class.forName("com.mysql.cj.jdbc.Driver");
//使用数据库驱动管理类,获取连接对象
Connection con= DriverManager.getConnection(url,user,password);
System.out.println("数据库连接建立成功。。");
con.close();
System.out.println("数据库关闭成功。");
}
}
3.调用数据库
package com.yzh70721.test1JDBC;
import java.awt.*;
import java.sql.*;
import java.util.Collection;
/**
* @author: XYT
* @create-date: 2022/7/21 11:32
*/
public class Test {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
test1();
}
//java连接数据库
public static void test1() throws ClassNotFoundException, SQLException {
//数据库驱动接口,可以创建数据库连接
//Driver drever=null;
//数据库连接接口,用于跟数据库之间搭建桥梁,并能创建命令执行对象
Connection connection=null;
//sql命令执行接口,用于执行增删改查语句。执行查询时会返回结果集对象
Statement statement=null;
//接口集接口,用于读取查询结果
ResultSet resultSet=null;
//数据库连接属性
//url:数据库地址
//useSSL:是否加密传输
//characterEncoding:字符编码
//severTimezone:时区
String url="jdbc:mysql://localhost:3306/70713_db4?useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
//user:数据库用户名
String user="root";
//password:数据库密码
String password="123456";
//使用java的驱动管理类加载数据据库驱动,从而获取连接对象
//使用反射的方式,将驱动类加载到jvm中
Class.forName("com.mysql.cj.jdbc.Driver");
//使用数据库驱动管理类,获取连接对象
Connection con= DriverManager.getConnection(url,user,password);
System.out.println("数据库连接建立成功。。");
//添加数据
String sql="insert into student2"+
" (id,name,birthday,tall)"+
" values"+
" (1003,'王五','1999-10-08',1.7)";
//通过连接对象,创建命令来执行对象
statement=con.createStatement();
//使用命令来执行对象,执行增删改操作。并接收返回的数据库行数
int count=statement.executeUpdate(sql);
System.out.println("插入的记录数:"+count);
//查询数据
sql="select id,name,birthday,tall from student2";
//查询数据,并接收返回的结果集对象
resultSet=statement.executeQuery(sql);
//使用结果集对象,读取结果
//next():是否有吓一条记录:true/false
while(resultSet.next()){
System.out.println("====================");
//数据库中的index是从1开始的,到i结束。第一列不能调用???
System.out.println(resultSet.getInt(1)+" "+resultSet.getString(2)+" "+resultSet.getString(3)+" "+resultSet.getFloat(4));
System.out.println(resultSet.getString(1)+" "+resultSet.getString(2)+" "+resultSet.getString(3)+" "+resultSet.getString(4));
System.out.println(resultSet.getObject("id")+" "+resultSet.getObject("name")+" "+resultSet.getObject("birthday")+" "+resultSet.getObject("tall"));
}
//关闭数据库连接,释放资源
resultSet.close();
statement.close();
con.close();
System.out.println("关闭数据库连接成功。。");
}
}
3.1 异常处理
4.数据库操作:增删改查
参考代码:
package com.yzh7.test2;
import org.junit.*;
import java.sql.*;
import java.util.Scanner;
/**
* @author: hy
* @create: 2022-07-21 11:35:03
*/
public class MyTest {
//四大金刚(数据库连接四大属性)
//mysql8 驱动类
private String driver="com.mysql.cj.jdbc.Driver";
//数据库连接地址
//useSSL,characterEncoding,serverTimezone
private String url="jdbc:mysql://localhost:3306/0720_db?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
//数据库账号
private String user="root";
//数据库密码
private String password="123456";
@Test
public void testInsert(){
System.out.println("测试数据库插入。。。");
//junit test方法不能使用scanner
//Scanner sc = new Scanner(System.in);
//定义连接对象
Connection con = null;
//命令执行对象
Statement st = null;
//ResultSet rs = null;
//5.定义插入sql
String account = "王大锤";
int money = 100;
String sql = "insert into bank " +
" (account,money)" +
" values" +
" ('"+account+"',"+money+")";
try {
//1.添加jar
//2.加载驱动类
Class.forName(driver);
//3.使用驱动管理类获取连接对象
con = DriverManager.getConnection(url,user,password);
//4.创建sql命令执行对象
st = con.createStatement();
//6.执行增删改sql,接受执行结果,并输出
int count = st.executeUpdate(sql);
System.out.println("记录数:"+count);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
//7.关闭数据库相关对象
if(st!=null){
try {
st.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(con!=null) {
try {
con.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
@Test
public void testUpdate(){
System.out.println("测试数据库修改...");
//1.添加jar
//2.加载驱动类
//3.使用驱动管理类获取连接对象
//4.创建sql命令执行对象
//5.定义修改sql
//6.执行增删改sql
//7.关闭数据库相关对象
//定义连接对象
Connection con = null;
//命令执行对象
Statement st = null;
//ResultSet rs = null;
//5.定义插入sql
int bid = 4;
String account = "穆念慈";
int money = 1000;
String sql ="update bank" +
" set account='"+account+"'," +
" money = "+money+
" where bid = "+bid;
System.out.println(sql);
try {
//1.添加jar
//2.加载驱动类
Class.forName(driver);
//3.使用驱动管理类获取连接对象
con = DriverManager.getConnection(url,user,password);
//4.创建sql命令执行对象
st = con.createStatement();
//6.执行增删改sql,接受执行结果,并输出
int count = st.executeUpdate(sql);
System.out.println("记录数:"+count);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
//7.关闭数据库相关对象
if(st!=null){
try {
st.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(con!=null) {
try {
con.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
@Test
public void testDelete(){
System.out.println("测试数据库删除...");
//1.添加jar
//2.加载驱动类
//3.使用驱动管理类获取连接对象
//4.创建sql命令执行对象
//5.定义删除sql
//6.执行增删改sql
//7.关闭数据库相关对象
//定义连接对象
Connection con = null;
//命令执行对象
Statement st = null;
//ResultSet rs = null;
//5.定义插入sql
int bid = 8;
String sql ="delete from bank where bid = "+bid;
System.out.println(sql);
try {
//1.添加jar
//2.加载驱动类
Class.forName(driver);
//3.使用驱动管理类获取连接对象
con = DriverManager.getConnection(url,user,password);
//4.创建sql命令执行对象
st = con.createStatement();
//6.执行增删改sql,接受执行结果,并输出
int count = st.executeUpdate(sql);
System.out.println("记录数:"+count);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
//7.关闭数据库相关对象
if(st!=null){
try {
st.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(con!=null) {
try {
con.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
@Test
public void testQuery(){
System.out.println("测试数据库查询。。。");
//1.添加jar
//2.加载驱动类
//3.使用驱动管理类获取连接对象
//4.创建sql命令执行对象
//5.定义查询sql
//6.执行查询sql,接受返回的结果集对象
//7.使用结果集对象遍历数据
//8.关闭数据库相关对象
//定义连接对象
Connection con = null;
//命令执行对象
Statement st = null;
//结果集对象
ResultSet rs = null;
//5.定义插入sql
String sql ="select bid,account,money from bank";
System.out.println(sql);
try {
//1.添加jar
//2.加载驱动类
Class.forName(driver);
//3.使用驱动管理类获取连接对象
con = DriverManager.getConnection(url,user,password);
//4.创建sql命令执行对象
st = con.createStatement();
//6.执行查询sql,接受返回的结果集对象
rs = st.executeQuery(sql);
//7.使用结果集对象遍历数据
while (rs.next()){
for (int i=1;i<=3;i++){
System.out.print(rs.getObject(i)+" ");
}
System.out.println();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
//7.关闭数据库相关对象
if(rs!=null){
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(st!=null){
try {
st.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(con!=null) {
try {
con.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
}
5.定义包2
封装成包:
package com.yzh7.util;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
/**
* @author: hy
* @create: 2022-07-21 12:00:29
*/
public class BaseDAO {
//四大金刚(数据库连接四大属性)
//mysql8 驱动类
private static String driver="com.mysql.cj.jdbc.Driver";
//数据库连接地址
//useSSL,characterEncoding,serverTimezone
private static String url="jdbc:mysql://localhost:3306/0720_db?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
//数据库账号
private static String user="root";
//数据库密码
private static String password="123456";
//获取连接
public static Connection getConnection(){
Connection con = null;
//TODO
return con;
}
//关闭数据库对象
public static void closeAll(Connection con, Statement st, ResultSet rs){
//TODO
}
//增删改方法
public static int executeUpdate(String sql){
Connection con = null;
Statement st =null;
int count = 0;
//TODO
return count;
}
}
调用包:
package com.yzh7.test2;
import com.yzh7.util.BaseDAO;
import org.junit.Test;
import java.sql.*;
/**
* @author: hy
* @create: 2022-07-21 11:35:03
*/
public class MyTest2 {
@Test
public void testInsert(){
System.out.println("测试数据库插入。。。");
//5.定义插入sql
String account = "王大锤";
int money = 100;
String sql = "insert into bank " +
" (account,money)" +
" values" +
" ('"+account+"',"+money+")";
int count = BaseDAO.executeUpdate(sql);
System.out.println("记录数:"+count);
}
@Test
public void testUpdate(){
System.out.println("测试数据库修改...");
//1.添加jar
//2.加载驱动类
//3.使用驱动管理类获取连接对象
//4.创建sql命令执行对象
//5.定义修改sql
//6.执行增删改sql
//7.关闭数据库相关对象
}
@Test
public void testDelete(){
System.out.println("测试数据库删除...");
//1.添加jar
//2.加载驱动类
//3.使用驱动管理类获取连接对象
//4.创建sql命令执行对象
//5.定义删除sql
//6.执行增删改sql
//7.关闭数据库相关对象
}
@Test
public void testQuery(){
System.out.println("测试数据库查询。。。");
//1.添加jar
//2.加载驱动类
//3.使用驱动管理类获取连接对象
//4.创建sql命令执行对象
//5.定义查询sql
//6.执行查询sql,接受返回的结果集对象
//7.使用结果集对象遍历数据
//8.关闭数据库相关对象
//定义连接对象
Connection con = null;
//命令执行对象
Statement st = null;
//结果集对象
ResultSet rs = null;
//5.定义插入sql
String sql ="select bid,account,money from bank";
System.out.println(sql);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/118097.html