Kode Java – Learn Java by Examples

Learn Java by Examples

Java

Java

  • Java
    • Basic
    • Core API
    • 2D API
    • Lang Package
    • Util Package
    • Applet
    • AWT
    • Networking
    • Java Date Time API
    • Concurrency
    • Cryptography
    • IO
    • Logging
    • Zip and GZIP
    • Reflection
    • Regex
    • JDBC
    • Scripting
    • Stream API
    • Beans
    • Mail
    • Security
    • XML
    • Sound API
    • Swing
    • HttpClient
    • Java 8
    • Java 9
    • Java 10
    • Java 11
    • Java 12
    • Java 14
    • Java 15
    • Java 16
    • Java 17
    • Java 25
Spring

Spring

  • Spring
    • Spring Core
    • Spring JDBC
    • Spring MVC
    • Spring Boot
Persistence

Persistence

  • Persistence
    • Java Persistence API
    • Hibernate
    • MyBatis
Servlet

Servlet

  • Servlet
    • Servlet
    • JSP
    • Taglib
Other Libraries

Other Libraries

  • Other Libraries
    • Apache Commons
    • Apache HttpComponents
    • Apache POI
    • E-iceblue Spire
    • Google Gson
    • iText PDF
    • Jackson
    • Jasypt
    • JDOM
    • Joda-Time
    • jPOS
    • JSch
    • JSON-Java
    • Project Lombok
    • ZK Framework
Patterns

Patterns

  • Patterns
    • Creational Patterns
Android

Android

  • Android
    • Android Misc
Databases

Databases

  • Databases
    • Learning SQL
    • MySQL
    • MongoDB
    • Microsoft Access
JVM Languages

JVM Languages

  • JVM Languages
    • Kotlin
Tools

Tools

  • Tools
    • IntelliJ IDEA
    • Gradle
    • JUnit
    • Maven
    • OS X
    • Ubuntu
    • PlantUML
    • UML
Partners

Partners

  • Partners
    • Buku Java ID

Category Archives: JDBC

How do I know if database support updatable result sets?

By I Wayan Saryada in JDBC Last modified: May 31, 2024 0 Comment
package org.kodejava.jdbc;

import java.sql.*;

public class SupportUpdatableResultSet {
    private static final String URL = "jdbc:mysql://localhost/kodejava";
    private static final String USERNAME = "kodejava";
    private static final String PASSWORD = "s3cr*t";

    public static void main(String[] args) {
        try (Connection connection =
                     DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
            DatabaseMetaData meta = connection.getMetaData();

            boolean updatable = meta.supportsResultSetConcurrency(
                    ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);

            System.out.println("Updatable ResultSet = " + updatable);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

The result of the code snippet above:

Updatable ResultSet = true

Maven Dependencies

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.4.0</version>
</dependency>

Maven Central

How do I know if a database supports scrollable result sets?

By I Wayan Saryada in JDBC Last modified: May 31, 2024 0 Comment
package org.kodejava.jdbc;

import java.sql.*;

public class SupportScrollableResultSet {
    private static final String URL = "jdbc:mysql://localhost/kodejava";
    private static final String USERNAME = "kodejava";
    private static final String PASSWORD = "s3cr*t";

    public static void main(String[] args) {
        try (Connection connection =
                     DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
            DatabaseMetaData meta = connection.getMetaData();

            boolean isForwardOnly = meta.supportsResultSetType(
                    ResultSet.TYPE_FORWARD_ONLY);
            System.out.println("ForwardOnly = " + isForwardOnly);

            boolean isScrollInsensitive = meta.supportsResultSetType(
                    ResultSet.TYPE_SCROLL_INSENSITIVE);
            System.out.println("ScrollInsensitive = " + isScrollInsensitive);

            boolean isScrollSensitive = meta.supportsResultSetType(
                    ResultSet.TYPE_SCROLL_SENSITIVE);
            System.out.println("ScrollSensitive = " + isScrollSensitive);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

The result of the code snippet above:

ForwardOnly = true
ScrollInsensitive = true
ScrollSensitive = false

Maven Dependencies

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.4.0</version>
</dependency>

Maven Central

How do I know if database support batch update?

By I Wayan Saryada in JDBC Last modified: May 31, 2024 0 Comment
package org.kodejava.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;

public class BatchSupportChecker {
    private static final String URL = "jdbc:mysql://localhost/kodejava";
    private static final String USERNAME = "kodejava";
    private static final String PASSWORD = "s3cr*t";

    public static void main(String[] args) {
        try (Connection connection =
                     DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
            DatabaseMetaData metadata = connection.getMetaData();

            // Check to see if the database supports batch updates
            boolean isBatchSupported = metadata.supportsBatchUpdates();
            System.out.println("Batch Supported = " + isBatchSupported);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

Maven Dependencies

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.4.0</version>
</dependency>

Maven Central

How do I get data types supported by database?

By I Wayan Saryada in JDBC Last modified: May 31, 2024 0 Comment
package org.kodejava.jdbc;

import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;

public class DatabaseSupportedType {
    private static final String URL = "jdbc:mysql://localhost/kodejava";
    private static final String USERNAME = "kodejava";
    private static final String PASSWORD = "s3cr*t";

    public static void main(String[] args) {
        try (Connection connection =
                     DriverManager.getConnection(URL, USERNAME, PASSWORD)) {

            DatabaseMetaData metadata = connection.getMetaData();
            ResultSet resultSet = metadata.getTypeInfo();
            while (resultSet.next()) {
                String typeName = resultSet.getString("TYPE_NAME");
                System.out.println("Type Name = " + typeName);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

Here are the data types supported by MySQL database:

Type Name = BIT
Type Name = TINYINT
Type Name = TINYINT UNSIGNED
Type Name = BIGINT
Type Name = BIGINT UNSIGNED
Type Name = LONG VARBINARY
Type Name = MEDIUMBLOB
Type Name = LONGBLOB
Type Name = BLOB
Type Name = VARBINARY
Type Name = TINYBLOB
Type Name = BINARY
Type Name = LONG VARCHAR
Type Name = MEDIUMTEXT
Type Name = LONGTEXT
Type Name = TEXT
Type Name = CHAR
Type Name = ENUM
Type Name = SET
Type Name = DECIMAL
Type Name = NUMERIC
Type Name = INTEGER
Type Name = INT
Type Name = MEDIUMINT
Type Name = INTEGER UNSIGNED
Type Name = INT UNSIGNED
Type Name = MEDIUMINT UNSIGNED
Type Name = SMALLINT
Type Name = SMALLINT UNSIGNED
Type Name = FLOAT
Type Name = DOUBLE
Type Name = DOUBLE PRECISION
Type Name = REAL
Type Name = DOUBLE UNSIGNED
Type Name = DOUBLE PRECISION UNSIGNED
Type Name = VARCHAR
Type Name = TINYTEXT
Type Name = BOOL
Type Name = DATE
Type Name = YEAR
Type Name = TIME
Type Name = DATETIME
Type Name = TIMESTAMP

Maven Dependencies

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.4.0</version>
</dependency>

Maven Central

How do I know if database support transaction?

By I Wayan Saryada in JDBC Last modified: June 28, 2024 0 Comment

A database transaction in any relational database management system (RDBMS) is a sequence of one or more SQL operations that are executed as a single unit of work. The primary characteristics and properties of transactions are encapsulated in the ACID principles:

  1. Atomicity: Ensures that all operations within the transaction are completed successfully. If any operation fails, the entire transaction is rolled back, and the database state is left unchanged.
  2. Consistency: Guarantees that a transaction will bring the database from one valid state to another. The database must be consistent before and after the transaction.
  3. Isolation: Ensures that concurrently executed transactions do not affect each other. The intermediate state of a transaction is invisible to other transactions.
  4. Durability: Once a transaction is committed, it will remain so, even in the event of a system failure.

Using JDBC API in the code snippet below we can check whether a database support transaction or not:

package org.kodejava.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;

public class TransactionSupportChecker {
    private static final String URL = "jdbc:mysql://localhost/kodejava";
    private static final String USERNAME = "kodejava";
    private static final String PASSWORD = "s3cr*t";

    public static void main(String[] args) {
        try (Connection connection =
                     DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
            DatabaseMetaData metadata = connection.getMetaData();

            boolean supported = metadata.supportsTransactions();
            System.out.println("Product Name        : " + metadata.getDatabaseProductName());
            System.out.println("Supports Transaction: " + supported);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

Output of the code snippet:

Product Name        : MySQL
Supports Transaction: true

Maven Dependencies

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.4.0</version>
</dependency>

Maven Central

© 2026 Kode Java - Made with ♡ in Bali, Indonesia