Program 1: Establishing a Connection with SQL Server
This program establishes a connection between Java and Microsoft SQL Server using JDBC.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class SQLServerConnectionExample {
public static void main(String[] args) {
String url =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=jdbc_demo;" +
"encrypt=true;" +
"trustServerCertificate=true";
String username = "sa";
String password = "password";
try {
Connection con =
DriverManager.getConnection(
url, username, password);
System.out.println(
"Connected to SQL Server successfully.");
con.close();
} catch (SQLException e) {
System.out.println(
"Connection failed: " +
e.getMessage());
}
}
}Execute and Output:
PS D:\test> javac -classpath ".;D:\test\mssql-jdbc.jar" SQLServerConnectionExample.java
PS D:\test> java -classpath ".;D:\test\mssql-jdbc.jar" SQLServerConnectionExample
Connected to SQL Server successfully.Code language: CSS (css)
Program 2: Creating an Employee Table
This program creates an employee table in SQL Server using the JDBC Statement interface.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateSQLServerEmployeeTable {
public static void main(String[] args) {
String url =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=jdbc_demo;" +
"encrypt=true;" +
"trustServerCertificate=true";
String username = "sa";
String password = "password";
String sql =
"IF NOT EXISTS (" +
"SELECT * FROM sysobjects " +
"WHERE name='employee' " +
"AND xtype='U') " +
"CREATE TABLE employee (" +
"employee_id INT PRIMARY KEY, " +
"employee_name VARCHAR(100), " +
"department VARCHAR(50), " +
"salary DECIMAL(10,2))";
try {
Connection con =
DriverManager.getConnection(
url, username, password);
Statement stmt =
con.createStatement();
stmt.executeUpdate(sql);
System.out.println(
"Employee table created successfully.");
stmt.close();
con.close();
} catch (SQLException e) {
System.out.println(
"Error: " + e.getMessage());
}
}
}Execution and Output:
PS D:\test> javac -classpath ".;D:\test\mssql-jdbc.jar" CreateSQLServerEmployeeTable.java
PS D:\test> java -classpath ".;D:\test\mssql-jdbc.jar" CreateSQLServerEmployeeTable
Employee table created successfully.Code language: CSS (css)
Program 3: Inserting Records Using PreparedStatement
This program inserts an employee record into SQL Server using a parameterized SQL query and PreparedStatement.
import java.sql.*;
public class SQLServerPreparedStatementExample {
public static void main(String[] args) {
String url =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=jdbc_demo;" +
"encrypt=true;" +
"trustServerCertificate=true";
String sql =
"INSERT INTO employee " +
"(employee_id, employee_name, department, salary) " +
"VALUES (?, ?, ?, ?)";
try {
Connection con =
DriverManager.getConnection(
url, "sa", "password");
PreparedStatement ps =
con.prepareStatement(sql);
ps.setInt(1, 101);
ps.setString(2, "Ravi");
ps.setString(3, "IT");
ps.setDouble(4, 50000);
ps.executeUpdate();
System.out.println(
"Employee inserted successfully.");
ps.close();
con.close();
} catch (SQLException e) {
System.out.println(
"Error: " + e.getMessage());
}
}
}Execution and Output:
PS D:\test> javac -classpath ".;D:\test\mssql-jdbc.jar" SQLServerPreparedStatementExample.java
PS D:\test> java -classpath ".;D:\test\mssql-jdbc.jar" SQLServerPreparedStatementExample
Employee inserted successfully.Code language: CSS (css)
Program 4: Retrieving Records Using ResultSet
This program retrieves employee records from SQL Server using Statement and ResultSet.
import java.sql.*;
public class SQLServerResultSetExample {
public static void main(String[] args) {
String url =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=jdbc_demo;" +
"encrypt=true;" +
"trustServerCertificate=true";
try {
Connection con =
DriverManager.getConnection(
url, "sa", "password");
Statement stmt =
con.createStatement();
ResultSet rs =
stmt.executeQuery(
"SELECT * FROM employee");
System.out.println(
"Employee Details");
System.out.println(
"-------------------------");
while (rs.next()) {
System.out.println(
rs.getInt("employee_id") + " " +
rs.getString("employee_name") + " " +
rs.getString("department") + " " +
rs.getDouble("salary"));
}
rs.close();
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}Execution and Output:
PS D:\test> javac -classpath ".;D:\test\mssql-jdbc.jar" SQLServerResultSetExample.java
PS D:\test> java -classpath ".;D:\test\mssql-jdbc.jar" SQLServerResultSetExample
Employee Details
-------------------------
101 Ravi IT 50000.0Code language: CSS (css)
Program 5: Updating Records Using PreparedStatement
This program updates the salary of an employee using PreparedStatement.
import java.sql.*;
public class SQLServerUpdateExample {
public static void main(String[] args) {
String url =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=jdbc_demo;" +
"encrypt=true;" +
"trustServerCertificate=true";
String sql =
"UPDATE employee " +
"SET salary = ? " +
"WHERE employee_id = ?";
try {
Connection con =
DriverManager.getConnection(
url, "sa", "password");
PreparedStatement ps =
con.prepareStatement(sql);
ps.setDouble(1, 60000);
ps.setInt(2, 101);
int rows =
ps.executeUpdate();
System.out.println(
rows + " record updated.");
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}Execution and Output:
PS D:\test> javac -classpath ".;D:\test\mssql-jdbc.jar" SQLServerUpdateExample.java
PS D:\test> java -classpath ".;D:\test\mssql-jdbc.jar" SQLServerUpdateExample
1 record updated.Code language: CSS (css)
Program 6: Deleting Records Using PreparedStatement
This program deletes an employee record from SQL Server using a parameterized SQL statement.
import java.sql.*;
public class SQLServerDeleteExample {
public static void main(String[] args) {
String url =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=jdbc_demo;" +
"encrypt=true;" +
"trustServerCertificate=true";
String sql =
"DELETE FROM employee " +
"WHERE employee_id = ?";
try {
Connection con =
DriverManager.getConnection(
url, "sa", "password");
PreparedStatement ps =
con.prepareStatement(sql);
ps.setInt(1, 101);
int rows =
ps.executeUpdate();
System.out.println(
rows + " record deleted.");
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}Execution and Output:
PS D:\test> javac -classpath ".;D:\test\mssql-jdbc.jar" SQLServerDeleteExample.java
PS D:\test> java -classpath ".;D:\test\mssql-jdbc.jar" SQLServerDeleteExample
1 record deleted.Code language: CSS (css)
Program 7: Performing Batch Insert Using PreparedStatement
This program inserts multiple employee records into SQL Server using JDBC batch processing.
import java.sql.*;
public class SQLServerBatchExample {
public static void main(String[] args) {
String url =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=jdbc_demo;" +
"encrypt=true;" +
"trustServerCertificate=true";
String sql =
"INSERT INTO employee " +
"(employee_id, employee_name, department, salary) " +
"VALUES (?, ?, ?, ?)";
try {
Connection con =
DriverManager.getConnection(
url, "sa", "password");
PreparedStatement ps =
con.prepareStatement(sql);
ps.setInt(1, 201);
ps.setString(2, "Arun");
ps.setString(3, "IT");
ps.setDouble(4, 45000);
ps.addBatch();
ps.setInt(1, 202);
ps.setString(2, "Priya");
ps.setString(3, "HR");
ps.setDouble(4, 42000);
ps.addBatch();
ps.setInt(1, 203);
ps.setString(2, "Kiran");
ps.setString(3, "Finance");
ps.setDouble(4, 48000);
ps.addBatch();
int[] result =
ps.executeBatch();
System.out.println(
result.length +
" records processed in batch.");
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}Execution and Output:
PS D:\test> javac -classpath ".;D:\test\mssql-jdbc.jar" SQLServerBatchExample.java
PS D:\test> java -classpath ".;D:\test\mssql-jdbc.jar" SQLServerBatchExample
3 records processed in batch.Code language: CSS (css)
Program 8: Using Transactions with commit() and rollback()
This program performs multiple salary updates inside a SQL Server transaction. If the operations are successful, commit() permanently saves the changes. If an error occurs, rollback() cancels the transaction.
import java.sql.*;
public class SQLServerTransactionExample {
public static void main(String[] args) {
String url =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=jdbc_demo;" +
"encrypt=true;" +
"trustServerCertificate=true";
Connection con = null;
try {
con =
DriverManager.getConnection(
url, "sa", "password");
con.setAutoCommit(false);
PreparedStatement ps =
con.prepareStatement(
"UPDATE employee " +
"SET salary = salary + ? " +
"WHERE employee_id = ?");
ps.setDouble(1, 5000);
ps.setInt(2, 201);
ps.executeUpdate();
ps.setDouble(1, 3000);
ps.setInt(2, 202);
ps.executeUpdate();
con.commit();
System.out.println(
"Transaction committed successfully.");
ps.close();
con.close();
} catch (SQLException e) {
System.out.println(
"Transaction failed.");
if (con != null) {
try {
con.rollback();
System.out.println(
"Transaction rolled back.");
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
}Execution and Output:
PS D:\test> javac -classpath ".;D:\test\mssql-jdbc.jar" SQLServerTransactionExample.java
PS D:\test> java -classpath ".;D:\test\mssql-jdbc.jar" SQLServerTransactionExample
Transaction committed successfully.Code language: CSS (css)
Program 9: Using Savepoint in SQL Server Transaction
In SQL Server, a transaction savepoint is created using SAVE TRANSACTION. JDBC’s Savepoint interface can also be used. This program demonstrates the JDBC approach.
import java.sql.*;
public class SQLServerSavepointExample {
public static void main(String[] args) {
String url =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=jdbc_demo;" +
"encrypt=true;" +
"trustServerCertificate=true";
try {
Connection con =
DriverManager.getConnection(
url, "sa", "password");
con.setAutoCommit(false);
Statement stmt =
con.createStatement();
// First update
stmt.executeUpdate(
"UPDATE employee " +
"SET salary = salary + 2000 " +
"WHERE employee_id = 201");
System.out.println(
"First update completed.");
// Create savepoint
Savepoint savepoint =
con.setSavepoint("AfterFirstUpdate");
System.out.println(
"Savepoint created.");
// Second update
stmt.executeUpdate(
"UPDATE employee " +
"SET salary = salary + 5000 " +
"WHERE employee_id = 202");
System.out.println(
"Second update completed.");
// Roll back to savepoint
con.rollback(savepoint);
System.out.println(
"Rolled back to savepoint.");
// Commit remaining changes
con.commit();
System.out.println(
"Transaction committed.");
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}Execution and Output:
PS D:\test> javac -classpath ".;D:\test\mssql-jdbc.jar" SQLServerSavepointExample.java
PS D:\test> java -classpath ".;D:\test\mssql-jdbc.jar" SQLServerSavepointExample
First update completed.
Savepoint created.
Second update completed.
Rolled back to savepoint.
Transaction committed.Code language: CSS (css)
Program 10: Executing a Stored Procedure Using CallableStatement
SQL Server provides strong support for stored procedures. This program creates a stored procedure with an IN parameter and an OUT parameter and executes it using JDBC CallableStatement.
Create the Stored Procedure
Execute this SQL in SQL Server Management Studio (SSMS):
USE jdbc_demo;
GO
CREATE OR ALTER PROCEDURE get_employee_name
@employee_id INT,
@employee_name VARCHAR(100) OUTPUT
AS
BEGIN
SELECT @employee_name = employee_name
FROM employee
WHERE employee_id = @employee_id;
END;
GOCode language: PHP (php)
import java.sql.*;
public class SQLServerCallableStatementExample {
public static void main(String[] args) {
String url =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=jdbc_demo;" +
"encrypt=true;" +
"trustServerCertificate=true";
try {
Connection con =
DriverManager.getConnection(
url, "sa", "password");
CallableStatement cs =
con.prepareCall(
"{call get_employee_name(?, ?)}");
// IN parameter
cs.setInt(1, 201);
// OUT parameter
cs.registerOutParameter(
2, Types.VARCHAR);
// Execute procedure
cs.execute();
// Retrieve OUT parameter
String employeeName =
cs.getString(2);
System.out.println(
"Employee ID: 201");
System.out.println(
"Employee Name: " +
employeeName);
cs.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}Execution and Output:
PS D:\test> javac -classpath ".;D:\test\mssql-jdbc.jar" SQLServerCallableStatementExample.java
PS D:\test> java -classpath ".;D:\test\mssql-jdbc.jar" SQLServerCallableStatementExample
Employee ID: 201
Employee Name: ArunCode language: CSS (css)
