通过JDBC访问数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过JDBC访问数据库相关的知识,希望对你有一定的参考价值。

实验目的
掌握JDBC连接数据库的方法;
掌握JDBC操纵数据库表的方法。
实验内容
针对数据库orcl中的数据表,完成下列操作:
通过JDBC连接数据库;
查询表myaddress中的数据;
通过conn.setAutoCommit(boolean autoCommit)方法处理连接事务;
使用Statement对象操作数据库,实现对数据表myaddress的插入、删除、修改操作;
使用PreparedStatement操作数据库,实现对数据表myaddress的操作;
使用addBatch()方法和executeBatch()方法对数据表myaddress进行批处理操作,并分析批处理操作的优点;
熟练掌握JDBC结果集ResultSet的使用,能够通过结果集更新数据库。
实验数据记录及分析(或程序及运行结果)

首先需要导入相应数据库的驱动文件,然后要注册驱动,Class.forname(driverName),获取Connection对象Connection conn=DriverManager.getConnection(URL);然后获取PreparedStatement对象PreparedStatement pst=conn.getPreparedState(sql,username,password)其中的username和password是你访问数据库的名称和密码;如果要使用到返回集合则可以用ResultSet对象接收,ResultSet rs=pst.executeQuery();不要使用到返回集合的话就直接pst.executeQuery();
以上的可以查jdk
1.mysql:driverName的值为:com.mysql.jdbc.Driver;url的值为:jdbc:mysql://localhost:3306/hibernate其中hibernate是你的数据库名称
2.sqlserver:driverName的值为:com.microsoft.sqlserver.jdbc.SQLServerDriver;url的值为
jdbc:sqlserver://localhost:1433;DatabaseName=" + database,其中database是你数据库名称
3.oracle:driverName的值为:oracle.jdbc.driver.OracleDriver;url的值:jdbc:oracle:thin:@127.0.0.1:1521:ora92,其中ora92是你数据库名称
参考技术A 楼主,请告诉我你到底要干什么?

通过 JDBC/ODBC 访问数据库时,您应该为每个请求创建和关闭连接吗?

【中文标题】通过 JDBC/ODBC 访问数据库时,您应该为每个请求创建和关闭连接吗?【英文标题】:When accessing a database over JDBC/ODBC should you create and close the connection for each request? 【发布时间】:2009-05-28 13:07:16 【问题描述】:

如果您有一个类为来自其他类的数据库数据请求提供服务,那么您应该在什么时候保持数据库连接,什么时候应该关闭它并在下一个请求时重新打开它?

如果它是响应外部应用程序连接的服务怎么办? (Web 服务、Ajax、rpc)

保持与始终打开的数据库的单例连接并在失败时重新打开它是个好主意吗?还是应该为每个请求打开一个新的数据库连接?

如果维护一个始终与数据库保持打开连接的单例数据库对象是一个坏主意,那么在任何情况下它是一个好主意吗?我经常看到它被引用为单例模式的理由?

我不是在谈论每个数据库查询的新连接,那太愚蠢了。

【问题讨论】:

【参考方案1】:

你可能想看看connection pooling。

在这种情况下,N 个连接被打开并可供客户端使用。当您“关闭”连接时,连接本身并没有关闭,而是返回到池中以供其他客户端使用。

Apache DBCP 是一个有用的库来管理这个。

【讨论】:

以上是关于通过JDBC访问数据库的主要内容,如果未能解决你的问题,请参考以下文章

[SpingBoot guides系列翻译]通过JDBC和Spring访问关系数据库

通过JDBC访问数据库

通过 JDBC/ODBC 访问数据库时,您应该为每个请求创建和关闭连接吗?

JSP中通过JDBC访问数据库

使用 java Spark DataFrame 通过 jdbc 访问 Oracle

java通过jdbc访问mysql,update数据返回值的思考