MySQL ENUM類型是一種特殊的數(shù)據(jù)類型,它限制了一個(gè)字段只能存儲(chǔ)預(yù)先定義的值中的一種。在Java中,我們可以通過JDBC連接MySQL數(shù)據(jù)庫,并使用PreparedStatement來執(zhí)行SQL語句,包括插入、更新、刪除等操作。
//在JAVA代碼中定義ENUM類型 public enum Gender { MALE, FEMALE } //創(chuàng)建表的SQL語句 CREATE TABLE `student` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(20) NOT NULL, `gender` ENUM('MALE', 'FEMALE') NOT NULL, PRIMARY KEY (`id`) ); //插入數(shù)據(jù)的SQL語句 String sql = "INSERT INTO student(name, gender) VALUES (?, ?)"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, "張三"); ps.setString(2, Gender.MALE.name()); ps.executeUpdate(); //查詢數(shù)據(jù)的SQL語句 String sql = "SELECT name, gender FROM student WHERE id=?"; PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1, 1); ResultSet rs = ps.executeQuery(); if (rs.next()) { String name = rs.getString("name"); Gender gender = Gender.valueOf(rs.getString("gender")); }
如上所示,我們可以通過Java中的枚舉類型與MySQL中的ENUM類型進(jìn)行配合,實(shí)現(xiàn)更加方便、類型安全的數(shù)據(jù)操作。