基于JDBC连接数据库

来源:互联网 发布:网络电玩捕鱼游戏 编辑:程序博客网 时间:2024/06/01 22:26

所有的JDBC连接数据库的操作流程都是固定的,按照如下的几步完成:

1、加载数据库驱动程序(向容器加载);

2、进行数据库连接(通过DriverManager类完成,Connection表示连接);

3、进行数据的增、删、改、查(Statement、PrepareStatement、ResultSet);

4、关闭数据库操作以及连接。

示例(Orcle数据库 )

上面是进行Oracle数据库的连接,如果要进行MySql的数据库的连接,只需要把对应的字符串修改成MySql的就可以了。在整个过程中DriverManager(从源码上可以看到构造方法私用化)需要知道具体是那个类实现连接,客户端不需要知道是什么类来实现,这不就是我们的工厂设计模式,而DriverManager就是我们的工厂类,同时客户端调用的时候会完全的隐藏具体的实现子类。所以我们在程序的最后必须关闭数据库的连接。


1 利用Statement接口实现数据表的更新操作与查询操作。

实现添加的方法,在数据库中新建对应的表的与序列(Oracle没有自增长),在上面的第三步中调用这个方法

实现修改的方法,其实就是在上面的添加 的方法,把Sql变成对应的Sql就可以了(删除的方法就自己修改了)

实现数据的查询所有的Student

建立学生类

在上面的第三步中添加上System.out.println(findStudent(connection));测试,只是单纯的输出,添加查询的方法

其它的复杂的查询,只需要把对应的SQL语句换上就可以了。

2 使用PreparedStatement接口实现

虽然在JDBC里面提供了Statement接口,但是从实际的开发中,Statement接口存在有严重的不足,所以JDBC在Statement的基础添加了PreparedStatement这个子接口,所以Statement几乎不会使用。同时要在对字符串拼接的时候,字符串中存在单引号就会识别不了,报SQLSyntaxErrorException错误。

实现更新操作

查询全部数据

3 批处理操作

为了更好的出现错误,这里使用Statement进行批处理。

运行结果:


从结果我们可以看到前面有三条数据已经自动提交上去,只有在出现错误后面的数据没有提交上去,这不合适,例如:甲向乙转3000块,甲的钱扣了,乙没有加上钱,这是不是不合适。所以要加上事务处理

当SQL提交出错后,就不会再有数据成功提交