In this article, we will use JDBC API to sort fetched records using order by clause from newly created table in MySQL database from Java application (i.e.; using Statement Interface)
Order-by clause :
- Sorting can be performed on the selected records in either ways i.e.; ascending or descending
- ASC –> to arrange selected records in ascending order (this is default)
- DESC –> to arrange selected records in descending order
1. Pre-requisite :
- Java JDK 1.8.0_77
- MySQL database 5.5.16
- Eclipse Luna IDE 4.4.0
- mysql-connector-java-5.1.38.jar file
2. Database parameters :
Let us move on and code an example to connect MySQL database from Java application to sort selected records using order by clause either in ascending/descending order using JDBC API. But before that, we will list down required things to connect database
- database server IP or address (localhost)
- sever port (3306)
- database name (PLAYER_INFO)
- username (root)
- password (root@123)
Note: All bold are database values to connect MySQL database
3. Order-By clause using JDBC Statement Interface :
- As we are ready with required things to connect MySQL database from Java application
- We can use one of the methods from Statement Interface to execute and arrange “selected records in ascending or descending order” SQL query
- execute(String sqlQuery);
- executeUpdate(String sqlQuery);
- executeQuery(String sqlQuery);
- Let us code a simple example using Statement Interface
OrderByClauseUsingJDBCStatement.java
package in.bench.resources.mysql.db.clause;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class OrderByClauseUsingJDBCStatement {
public static void main(String[] args) {
// variables
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
// Step 1: Loading or registering MySQL JDBC driver class
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException cnfex) {
System.out.println("Problem in loading MySQL JDBC driver");
cnfex.printStackTrace();
}
// Step 2: Opening database connection
try {
// Step 2.A: Create and get connection using DriverManager
connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/PLAYER_INFO",
"root",
"root@123");
// Step 2.B: Creating JDBC Statement
statement = connection.createStatement();
// to get all players with more than 130 matches in desc
String sqlSelectQuery = "SELECT * FROM PLAYER"
+ " WHERE MATCHES >= 130"
+ " ORDER BY NAME DESC ";
// Step 2.C: Executing SQL & retrieve data into ResultSet
resultSet = statement.executeQuery(sqlSelectQuery);
System.out.println("ID\tName\t\t\tAge\tMatches");
System.out.println("==\t================\t===\t=======");
// processing returned data and printing into console
while(resultSet.next()) {
System.out.println(resultSet.getInt(1) + "\t" +
resultSet.getString(2) + "\t" +
resultSet.getInt(3) + "\t" +
resultSet.getInt(4));
}
}
catch(SQLException sqlex){
sqlex.printStackTrace();
}
finally {
// Step 3: Closing database connection
try {
if(null != connection) {
// cleanup resources, once after processing
statement.close();
// and then finally close connection
connection.close();
}
}
catch (SQLException sqlex) {
sqlex.printStackTrace();
}
}
}
}
Output:
ID Name Age Matches
== ================ === =======
11 Steve Waugh 50 168
2 Shane Warne 46 145
1 Sachin Tendulkar 43 200
8 Jacques Kallis 40 166
5 Brian Lara 45 131
4. Download :
Related Articles :
- Java – Introduction to JDBC
- Java – JDBC Driver types
- Java – Core JDBC components
- Java – JDBC Driver list for all leading database
- Java – JDBC connection steps
- Java – An example to connect MySQL database
- Java – An example to connect Oracle database
- Java – An example to connect MS Access database
- Java 8 – An example to connect MS Access database in Java 8
- Java – JDBC program to connect IBM DB2 database running on Mainframe z/OS system
- Java – Creating database using JDBC Statement interface
- Java – Droping database using JDBC Statement interface
- Java – Creating a table using JDBC Statement interface
- Java – Inserting a record using JDBC Statement interface
- Java – Getting all list of records using JDBC Statement interface
- Java – Getting single record using JDBC Statement interface
- Java – Updating a record using JDBC Statement interface
- Java – Deleting a record using JDBC Statement interface
- Java – Dropping a table using JDBC Statement interface
- Java – Batch update using JDBC Statement interface
- Java – Batch insert using JDBC Statement interface
- Java – Creating a table using JDBC PreparedStatement interface
- Java – Inserting a record using JDBC PreparedStatement interface
- Java – Getting all list of records using JDBC PreparedStatement interface
- Java – Getting single record using JDBC PreparedStatement interface
- Java – Updating a record using JDBC PreparedStatement interface
- Java – Deleting a record using JDBC PreparedStatement interface
- Java – Batch update using JDBC PreparedStatement interface
- Java – Batch insert using JDBC PreparedStatement interface
- Java – Calling Stored Procedure using JDBC CallableStatement interface
- Java – Calling Stored Function using JDBC CallableStatement interface
- Java – Calling Stored Procedure using JDBC CallableStatement interface with Batch execution
- Java – Transaction handling using JDBC Statement interface
- Java – Transaction handling using JDBC PreparedStatement interface
- Java – Integration with Spring framework (Spring JDBC)
- Java – Where clause example using JDBC Statement interface
- Java – Like clause example using JDBC Statement interface
- Java – Order by clause example using JDBC Statement interface
- Java – Metadata of database using JDBC DatabaseMetaData interface
- Java – Metadata of Resultset using JDBC ResultSetMetaData interface
- Java – Interview question and answer on JDBC
References :
- https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-usagenotes-connect-drivermanager.html
- https://www.benchresources.net/spring-jdbc-introduction-and-jdbc-example-without-spring/
- https://docs.oracle.com/javase/tutorial/jdbc/basics/gettingstarted.html
- https://docs.oracle.com/cd/E11882_01/java.112/e16548/overvw.htm#JJDBC28025
- http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
- https://en.wikipedia.org/wiki/JDBC_driver
- http://www.devx.com/tips/Tip/28818
- https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#forName(java.lang.String)
Happy Coding !!
Happy Learning !!