jdbc

  1. quydtkt

    [Java JDBC] Sửa lỗi java.sql.SQLException: The server time zone value ‘xx time’ is unrecognized

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách sửa lỗi java.sql.SQLException: The server time zone value ‘xx time’ is unrecognized Tạo kết nối đến MySQL server với driver mới nhất mysql-connector-java:8.0.16 và bị SQLException sau: Đã test với MySQL 5.7 Java 8 JDBC...
  2. quydtkt

    [Java JDBC] Sửa lỗi java.sql.SQLException: operation not allowed: Ordinal binding and Named binding cannot be combined!

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách sửa lỗi java.sql.SQLException: operation not allowed: Ordinal binding and Named binding cannot be combined! Ordinal binding hoặc index binding: String name = stat.getString(2); BigDecimal salary = stat.getBigDecimal(3)...
  3. quydtkt

    [Java JDBC] Khắc phục lỗi ORA-12505, TNS:listener does not currently know of SID given in connect descriptor khi kết nối đến database Oracle

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách khắc phục lỗi ORA-12505, TNS:listener does not currently know of SID given in connect descriptor khi kết nối đến database Oracle Điều này được gây ra bởi SID không tồn tại trong {ORACLE_HOME} /network/admin/tnsnames.ora P.S...
  4. quydtkt

    [Java JDBC] Class.forName () không còn cần thiết

    Từ Java 1.6, JDBC 4.0 API, nó cung cấp một tính năng mới để tự động nhận biết java.sql.Driver, điều đó có nghĩa là Class.forName không còn cần thiết nữa. Chỉ cần cho bắt kì JDBC driver 4.x nào vào classpath của project, Java có thể phát hiện ra nó. Ví dụ về JDBC driver cho PostgreSQL: pom.xml...
  5. quydtkt

    [Java JDBC] In ra tất cả các bảng có trong cơ sở dữ liệu

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách kết nối đến cơ sở dữ liệu PostgreSQL và in ra tất cả các bảng có trong cơ sở dữ liệu mặc định postgres pom.xml <dependencies> <dependency> <groupId>org.postgresql</groupId>...
  6. quydtkt

    [Java JDBC] Thêm Oracle JDBC driver vào Maven local repository

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách thêm Oracle JDBC driver vào Maven local repository, cũng như cách trỏ tới nó trong pom.xml Đã test với Oracle database 19c and Java 8 Ghi chú Do vấn đề về license của Oracle, Oracle JDBC driver không có sẵn trong Maven...
  7. quydtkt

    [Java JBDC] Tạo Batch Update với JdbcTemplate

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách sử dụng Spring JdbcTemplate để tạo batch insert, batch update và @Transactional Kỹ thuật được sử dụng: Spring Boot 2.1.2.RELEASE Spring JDBC 5.1.4.RELEASE Maven 3 Java 8 1. Batch Insert 1.1 Chạy một loạt câu SQLinsert cùng...
  8. quydtkt

    [Java JDBC] Xử lý ResultSet có kích thước lớn với JdbcTemplate

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách xử lý ResultSet có kích thước lớn với JdbcTemplate P.S Đã test với Java 8 và Spring JDBC 5.1.4.RELEASE 1. Lấy ra ResultSet có kích thước lớn 1.1 Đầu tiên là cách cơ bản findAll để lấy tất cả dữ liệu từ bảng...
  9. quydtkt

    [Java JDBC] Sử dụng JdbcTemplate để truy vấn database

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách sử dụng Sping JdbcTemplate để truy vấn dữ liệu từ cơ sở dữ liệu. Kỹ thuật sử dụng: Spring Boot 2.1.2.RELEASE Spring JDBC 5.1.4.RELEASE Maven 3 Java 8 Nói một cách ngắn gọn: jdbcTemplate.queryForObject để get 1 dòng hoặc 1...
  10. quydtkt

    [Java JDBC] Gọi Stored Procedure trong Spring Boot

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách sử dụng SimpleJdbcCall để gọi stored procedure và stored function từ cơ sở dữ liệu Oracle trong Spring Boot. Kỹ thuật được sử dụng : Spring Boot 2.1.2.RELEASE Spring JDBC 5.1.4.RELEASE Oracle database 19c HikariCP 3.2.0 Maven...
  11. quydtkt

    [Java JDBC] Spring Boot JDBC

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách sử dụng JdbcTemplate và NamedParameterJdbcTemplate trong Spring Boot. Kỹ thuật được sử dụng: Spring Boot 2.1.2.RELEASE Spring JDBC 5.1.4.RELEASE HikariCP 3.2.0 H2 in-memory database 1.4.197 Maven 3 Java 8 Trong Spring Boot...
  12. quydtkt

    [Java JDBC] Giới thiệu và transaction

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về transaction trong JDBC JDBC transaction đảm bảo tập hợp các câu lệnh SQL được thực thi là 1 một lần, hoặc tất cả các câu lệnh được chạy thành công, hoặc không (rollback tất cả các thay đổi). 1. Không sử dụng JDBC Transaction 1.1 Ví...
  13. quydtkt

    [Java JDBC] Gọi Stored Function trong PostgreSQL bằng CallableStatement

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách gọi Stored Function trong PostgreSQL bằng CallableStatement Ví dụ sử dụng JDBC CallableStatement để gọi Stored Function trong cơ sở dữ liệu PostgreSQL. P.S Đã test với PostgreSQL 11 và Java 8 pom.xml <dependency>...
  14. quydtkt

    [Java JDBC] Gọi Stored Procedure có tham số CURSOR với CallableStatement

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách gọi Stored Procedure có tham số CURSOR với CallableStatement trong Java Ví dụ sử dụng JDBC CallableStatement để gọi Stored Procedure trả về con trỏ. Đã test với Java 8 và Oracle database 19c pom.xml <dependency>...
  15. quydtkt

    [Java JDBC] Gọi Stored Procedure có OUT parameter với CallableStatement

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách gọi Stored Procedure có OUT parameter với CallableStatement trong Java Ví dụ sử dụng JDBC CallableStatement để gọi Stored Procedure có cả tham số IN và OUT. Đã test với Java 8 và Oracle database 19c pom.xml <dependency>...
  16. quydtkt

    [Java JDBC] Sử dụng CallableStatement để gọi Stored Procedure có IN parameter

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách sử dụng CallableStatement để gọi Stored Procedure có IN parameter Đã test với Java 8 và Oracle database 19c pom.xml <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc</artifactId> <version>8</version>...
  17. quydtkt

    [Java JDBC] Sử dụng điều kiện IN với PreparedStatement

    Ví dụ sử dụng JDBC PreparedStatement để chạy lệnh SQL với điều kiện IN 1. PreparedStatement + Array Trong JDBC, có thể sử dụng createArrayOf để tạo 1 PreparedStatement IN query. @Override public List<Integer> getPostIdByTagId(List<Integer> tagIds) { List<Integer> result = new...
  18. quydtkt

    [Java JDBC] Tạo Batch update với PreparedStatement

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách tạo Batch update (gửi nhiều lệnh create, insert, update vào databaase) với PreparedStatement trong Java BatchUpdate.java package com.mkyong.jdbc.preparestatement; import java.math.BigDecimal; import java.sql.*; import...
  19. quydtkt

    [Java JDBC] Select list các dòng trong bảng với PreparedStatement

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách sử dụng PreparedStatement để select ra nhiều dòng trong bảng RowSelect.java package com.mkyong.jdbc.preparestatement.row; import com.mkyong.jdbc.model.Employee; import java.math.BigDecimal; import java.sql.*; public class...
  20. quydtkt

    [Java JDBC] Xóa 1 dòng trong bảng với PreparedStatement

    Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách sử dụng PreparedStatement để xóa 1 dòng trong bảng RowDelete.java package com.mkyong.jdbc.preparestatement.row; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import...