您好,登錄后才能下訂單哦!
在 MyBatis 中,你可以使用 JDBC 的 getTimestamp()
方法來獲取當前時間戳,并在插入或更新數據庫記錄時自動設置時間戳字段。以下是一個簡單的示例:
users
的表,其中包含一個名為 created_at
的時間戳字段:CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
getTimestamp()
方法來獲取當前時間戳,并將其設置為 created_at
字段的值:<mapper namespace="com.example.mapper.UserMapper">
<insert id="insertUser" parameterType="com.example.entity.User">
INSERT INTO users (username, created_at)
VALUES (#{username}, #{createdAt, jdbcType=TIMESTAMP})
</insert>
</mapper>
insertUser
方法將 User 對象插入到數據庫中:import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import com.example.entity.User;
import com.example.mapper.UserMapper;
public class Main {
public static void main(String[] args) {
SqlSessionFactory sqlSessionFactory = ... // 初始化 SqlSessionFactory
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
User user = new User();
user.setUsername("JohnDoe");
user.setCreatedAt(new java.sql.Timestamp(System.currentTimeMillis()));
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
int result = userMapper.insertUser(user);
if (result > 0) {
System.out.println("User inserted successfully.");
} else {
System.out.println("Failed to insert user.");
}
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
}
這樣,每次插入新用戶時,MyBatis 都會自動設置 created_at
字段的值為當前時間戳。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。