您好,登錄后才能下訂單哦!
在 MyBatis 中,你可以使用 JDBC 的 getTimestamp()
方法來獲取當(dāng)前時間戳,并在插入或更新數(shù)據(jù)庫記錄時自動設(shè)置時間戳字段。以下是一個簡單的示例:
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()
方法來獲取當(dāng)前時間戳,并將其設(shè)置為 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 對象插入到數(shù)據(jù)庫中: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 都會自動設(shè)置 created_at
字段的值為當(dāng)前時間戳。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。