
In this tutorial, we will take a look at how to insert records into a database table using java.sql package PreparedStatement,
Database Table:mysql> desc my_uat.students;
+-----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+----------------+
| student_id | int | NO | PRI | NULL | auto_increment |
| student_name | varchar(45) | NO | | NULL | |
| student_dob | datetime | NO | PRI | NULL | |
| student_address | varchar(45) | NO | | NULL | |
+-----------------+-------------+------+-----+---------+----------------+
Table create Statement:
CREATE TABLE `students` (
`student_id` int NOT NULL AUTO_INCREMENT,
`student_name` varchar(45) NOT NULL,
`student_dob` datetime NOT NULL,
`student_address` varchar(45) NOT NULL,
PRIMARY KEY (`student_id`,`student_dob`)
Java Code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.time.LocalDate;
public class JDBCInsertExample {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String url ="jdbc:mysql://localhost:3306/my_uat";
String userName="root";
String password ="root123";
String insertQuery ="insert into students values(?,?,?,?)";
Connection connection = DriverManager.getConnection(url,userName,password);
PreparedStatement preparedStatement = connection.prepareStatement(insertQuery);
preparedStatement.setString(1, null);
preparedStatement.setString(2, "Andrew");
preparedStatement.setObject(3, LocalDate.of(1999, 07, 21));
preparedStatement.setString(4, "Ohio");
int result = preparedStatement.executeUpdate();
if(result == 1) {
System.out.println("Record Insterted Successfully!");
} else {
System.out.println("Error occurred while inserting a record to database!");
}
}
}
Output:
Record Inserted Successfully!
If the query is not well-formed, you will get java.sql.SQLSyntaxErrorException,
Exception in thread "main" java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'int students values(null,'Andrew','1999-07-21','Ohio')' at line 1
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1061)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1009)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1320)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:994)
at JDBCInsertExample.main(JDBCInsertExample.java:23)
Have Questions? Post them here!
- Create a Zip file using Java Code programmatically
- Eclipse : A java Runtime Environment (JRE) or Java Development kit (JDK) must be available
- How to Sort a LinkedList in Java
- Loading class com.mysql.jdbc.Driver. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver
- How to declare and initialize Array in Java Programming
- [Fix] java: integer number too large compilation error
- Java JDBC Connection with MySQL Driver in VS Code + Troubleshooting
- Reading .xls and .xlsx Excel file using Apache POI Java Library
- IntelliJ: Error: Could not find or load main class, java.lang.ClassNotFoundException
- How to get Client IP address using Java Code Example
- Truncate table using Java JDBC Example
- Struts 2 : There is no Action mapped for namespace [/] and action name [form] associated with context path [/proj]
- How to get file path in Idea IntelliJ IDE
- Java Generics explained with simple definition and examples
- Java SE 8 Update 301 available with various bug fixes and security improvements
- Java: Collect Stream as ArrayList or LinkedList
- Java JDBC Connection with PostgreSQL Driver Example
- How to check if Java main thread is alive
- How to fix Java nio NoSuchFileException wile reading a file
- Java 8+ get Day of the Week Examples with LocalDateTime, DateTime, ZonalDateTime and Instant classes
- Ways to Convert Integer or int to Long in Java
- [Java] How to throws Exception using Functional Interface and Lambda code
- [Fix] Spring Boot: mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
- Java: The value of the local variable string is not used
- Java JDBC: Insert Java 8 LocalDate and Time using PreparedStatement
- Fix: Windows 11 Something went wrong - We coudnt find info for that Account (Windows 365 Business) - Windows-11
- Where are Notepad++ temp unsaved files stored? - NotepadPlusPlus
- Fix- Microsoft Word Pages Appear Black - Microsoft
- How to access SharePoint on Office 365 using a Web Browser - SharePoint
- How to remove username from Mac Menu Bar? - MacOS
- Ignore white space while Notepad++ compare two files - NotepadPlusPlus
- Fix: python3: Library/Developer/CommandLineTools/usr/bin/python3: No module named notebook (jupyter) - Python
- Android : Exception raised during rendering: action_bar API 22 - Android