《Oracle Java EE编程自学和面试指南》07-03:使用JDBC做增删改

课程封面-JavaEE-AT阿宝哥


深入了解IT/互联网行业及岗位,请参阅通用IT/互联网岗位招聘计划(最新全岗版)
深入了解职业晋升及学习路线,请参阅最优职业晋升路线和课程学习指南(最新全栈版)


内容导航

  • 前言
  • 1、准备数据库表
  • 2、准备驱动程序包
  • 3、加载驱动类
  • 4、获得Connection对象
  • 5、获得Statement对象
  • 6、执行SQL语句
  • 7、关闭资源
  • 9、使用PreparedStatment
  • 10、总结

前言


1、准备数据库表

使用Oracle数据库,Scott模式。

2、准备驱动程序包

要使用JDBC编程,必须把相关数据库的驱动程序包导入到当前工程。

每个数据库的驱动程序包不同,可以搜索下载。

把驱动程序包拷贝到WEB-INF/lib下即可。

3、加载驱动类

使用TestJDBC类做演示。
在进行JDBC编程时,有一个很重要的类,叫驱动类。存在于数据库的驱动包中,首先要把驱动类加载到内存中。每个数据库的驱动类不同。


//加载“驱动类”
Class.forName("oracle.jdbc.driver.OracleDriver");

4、获得Connection对象

使用DriverManager获得链接对象。获得链接时,需要指定url连接串,每个数据库不同,以及用户名、密码。


//初始化“数据库连接对象”
conn = DriverManager.getConnection(url,username,password);

5、获得Statement对象

得到链接对象后,就可以获得语句对象。语句对象常用的有两种,我们先使用Statement。


// 创建语句对象
statement = conn.createStatement();

6、执行SQL语句

要执行insert语句,因此使用Statement中的executUpdate方法


// 如果语句对象执行后的返回值大于0,意味着SQL语句执行后的影响行数大于0
if (statement.executeUpdate(sql) > 0) {
	flag = true;
	System.out.println("[操作提示]数据影响行数大于0...");
} else {
	flag = false;
	System.out.println("[操作提示]数据影响行数小于0...");
}

7、关闭资源

语句对象、链接对象都是占资源的对象,使用后要在finally语句块中关闭。


	//方法:关闭"数据库连接对象"及"语句对象"
	public static void closeConnection(Connection conn ,Statement statement) {
		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		
		if (statement != null) {
			try {
				statement.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

执行测试类TestJDBC.java,可以查看数据库,插入了一条记录。修改测试数据,插入多条记录。

8、问题

目前TestJDBC.java的testInsert()方法,每次insert的数据值都是写在SQL语句中,不灵活

我们需要设计一个新的方法
testInsert(String username,String pwd,
String status,String QQ,String time),通过参数插入记录。

当SQL语句中需要使用变量作为参数时,可以考虑使用PreparedStatment

9、使用PreparedStatment

步骤2-4与之前例子相同。
步骤3:获得PreparedStatment语句对象。创建PreparedStatement时,需要使用一个SQL语句字符串,SQL语句中需要使用到变量的参数之处,可以使用?占位。


String sql="insert into user values(?,?,?,?,?)";
pstmt=conn.prepareStatement(sql);


步骤4:使用PreparedStatment的setX方法,为?赋值。并执行。

pstmt.setString(1,username);
pstmt.setString(2, pwd);
pstmt.setString(3,status);
pstmt.setString(4, qq);
pstmt.setString(5, time);
pstmt.executeUpdate();

步骤5:关闭资源,与之前例子相同

10、总结

在做JDBC编程过程中,主要使用JDBC的API编程,其中只有驱动类名称、连接串写法,与具体数据库有关,其他都有数据库无关。

  • 主要步骤:
  • 加载驱动类
  • 获得连接对象
  • 获得语句对象
  • 执行SQL语句
  • 关闭资源
    语句对象:常用的语句对象有两种,分别是Statement,PreparedStatement。其中PreparedStatement多次执行相同SQL语句时,效率会较高。往往在实际工作中,SQL语句中的参数是变量时,会使用PreparedStatement。

好好学习,天天向上!继续下一章…👏👏👏👏👏👏


扫码关注AT阿宝哥,畅读更多内容!


感谢您阅读,如果对作者其它文章也很感兴趣,请扫码关注!🚀🚀🚀🚀🚀🚀


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AT阿宝哥

给作者送颗薄荷糖吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值