MyBatis Auto-Increment ID Setup

In MyBatis, there are several ways to set the id to auto increment.

  1. Using auto-increment fields in a database: by setting the id field in a database table to auto-increment (such as AUTO_INCREMENT), there is no need to manually set the id value in the MyBatis mapping file. When inserting data, the database will automatically generate and return the incremented id.
  2. Using database sequences: If the database supports sequences, a sequence can be created in the database, and then in the MyBatis mapping file, the next sequence value can be retrieved as an id using SELECT NEXTVAL(‘sequence_name’).
  3. Using UUID (Universally Unique Identifier): You can generate a unique id in MyBatis mapping files by using UUID, such as using SELECT UUID() to retrieve a UUID as an id.

Here is an example of using a database auto-increment field:

  1. Create an auto-increment field in the database table (for example, MySQL uses AUTO_INCREMENT).
CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100)
);
  1. Define the insert statement in the MyBatis mapping file without setting the id value.
<insert id="insertUser" parameterType="User">
  INSERT INTO users (name) VALUES (#{name})
</insert>
  1. Insert data using MyBatis’s insert method in Java code.
User user = new User();
user.setName("John Doe");
userMapper.insertUser(user);

At this point, the database will automatically generate an incremented ID and assign it to the id property of the user object.

bannerAds