在系统中利用hibernate的API我们可以做很多事情,数据的读,存,删等,都比较的方便,但是如批量添加、更新、删除操作,量大的话会严重影响系统的性能,有两个算是比较好的办法解决。
1、直接通过JDBC API来执行该SQL语句
2、通过存储过程
在这两个操作中首先都要得到Connection,当然这也可以通过
- tx = session.beginTransaction();
- Connection con=session.connection();
来得到,在我现在使用的一个系统中是hibernate与spring的整合。通过一个.properties文件的配置来得到与数据库的连接。文件如下:
- hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
- hibernate.connection.url=jdbc:oracle:thin:@192.168.2.11:1521:oracle
- hibernate.connection.username=db_test
- hibernate.connection.password=test
- hibernate.show_sql=true
在此我们也是要利用这个属性文件来写一个DBConnection类来获取JDBC的连接。DBConnection类如下:
- package com.***.***.util;
-
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.net.URL;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- import java.util.Properties;
-
- public class DBConnection {
-
- public Connection getConnection() {
-
- Properties properties = new Properties();
- URL in = this.getClass().getClassLoader().getResource("jdbc.properties");
- try {
- properties.load(new FileInputStream(in.getFile()));
- } catch (FileNotFoundException e1) {
-
- e1.printStackTrace();
- } catch (IOException e1) {
-
- e1.printStackTrace();
- }
- String driver =properties.getProperty("hibernate.connection.driver_class");
- String url=properties.getProperty("hibernate.connection.url");
- String user=properties.getProperty("hibernate.connection.username");
- String password=properties.getProperty("hibernate.connection.password");
- Connection con;
- try{
-
- Class.forName(driver);
- con=DriverManager.getConnection(url,user,password);
- return con;
-
- }catch (ClassNotFoundException e){
- System.out.println(e.getMessage());
- }catch (SQLException e){
- System.out.println(e.getMessage());
- }
- return null;
- }
- }
-
要想获取Connection,只需要
- DBConnection db = new DBConnection();
- Connection conn = db.getConnection();
接下来的操作就是普通的JDBC操作了。以下是一段参考代码:
- public boolean addForm(String code,String name,String content)throws MailException{
- DBConnection db = new DBConnection();
- Connection conn = db.getConnection();
- try {
- conn.setAutoCommit(false);
- String queryStr = "insert into form(code,name,content)values(?,?,?)";
- PreparedStatement pstm = conn.prepareStatement(queryStr);
- pstm.setString(1,code);
- pstm.setString(2,name);
- Reader clobReader = new StringReader(content);
- pstm.setCharacterStream(3, clobReader, content.length());
- pstm.executeUpdate();
- conn.commit();
- } catch (SQLException e) {
-
- e.printStackTrace();
- return false;
- }finally{
- if(conn!=null){
- try {
- conn.close();
- } catch (SQLException e) {
-
- e.printStackTrace();
- }
- }
- }
- return true;
-
- }
-
分享到:
相关推荐
Java连接MySQL数据库主要依赖于Java Database Connectivity (JDBC) API,这是一个Java编程接口,允许Java应用程序与各种数据库进行交互。本教程将详细讲解如何通过JDBC驱动程序建立Java与MySQL数据库之间的连接。 ...
- `DBConnection`类的`getConnection()`方法负责加载数据库驱动并建立连接。这里的驱动是`sun.jdbc.odbc.JdbcOdbcDriver`,是ODBC桥接驱动,用于连接到ODBC数据源。 - `LoginFrame`类可能是登录窗体的实现,包含...
- 数据库连接类(DBConnection):管理数据库连接,提供获取连接的方法。 - SQL语句文件或常量:存放SQL语句,方便管理和维护。 在个人学习过程中,此项目可以帮助理解GUI组件的使用、事件驱动编程的概念、JDBC操作...
- `DBConnection`类(未提供完整代码)应该是用于建立和管理数据库连接的工具类。在`GradesDaoImpl`中,实例化`DBConnection`并在每次操作完成后关闭连接,确保资源的正确释放,避免资源泄漏。 5. **集合封装**: ...
在Java中,我们通常使用JDBC(Java Database Connectivity)API来建立与数据库的连接。JDBC提供了一组标准的接口和类,使得Java程序能够与各种不同的数据库系统进行通信。要建立连接,我们需要导入`java.sql....
2. 数据库连接类:负责建立和管理数据库连接,如`DBConnection.java`,可能实现了数据库连接的获取和释放。 3. DAO(Data Access Object)层:封装了数据库操作,如用户DAO、考试DAO等,使得业务逻辑层与数据库操作...
Java中的JDBC(Java Database Connectivity)API提供了一种标准的方式来连接和操作数据库。以下是一个简单的数据库连接示例: ```java import java.sql.Connection; import java.sql.DriverManager; import java....
Spring框架提供了对JDBC的强大支持,主要通过`JdbcTemplate`和`SimpleJdbcInsert`等工具类简化了常见的数据库操作。以下是一个基本的例子: **Step 1:** 定义数据源(前面已经介绍过)。 **Step 2:** 定义`...
1. 数据库连接类(如`DBConnection.java`):包含JDBC连接相关的代码。 2. DAO类(如`StudentDAO.java`):实现对"学生表"的CRUD操作。 3. 实体类(如`Student.java`):表示学生对象,包含属性和方法。 4. 服务类...
20.4.1 建立数据库连接的DBConnection类 348 20.4.2 格式化处理时间的StrFormat类 350 20.5 登录和注册模块的实现 351 20.5.1 对应用户的实体类User 351 20.5.2 用户注册页面register.jsp 354 20.5.3 负责用户注册的...
其中可能包含了与商品操作相关的类,比如`Product.java`表示商品实体类,` 商品Service.java`用于业务逻辑处理,以及`DBConnection.java`用于数据库连接管理。 总的来说,这个"商品增删改查"的实现虽然基础,但涵盖...
在本篇中,我们将深入探讨如何使用Java的JDBC(Java Database Connectivity)API与Eclipse集成,以便连接到Microsoft SQL Server Management Studio,并实现基本的数据库操作,包括表的增、删、改、查。首先,我们...