首先我们需要了解 Mysql 字段和 Java 实体类属性类型的匹配规则,一般情况下是按照以下方式进行匹配:
Mysql字段类型 | Java实体类属性类型 |
---|---|
int、tinyint、smallint、mediumint | int |
bigint | long |
float | float |
double | double |
decimal | java.math.BigDecimal |
varchar、char、text、mediumtext、longtext等 | java.lang.String |
date | java.sql.Date |
time、datetime | java.sql.Timestamp |
bit | boolean |
binary、varbinary、blob、mediumblob、longblob等 | byte[] |
另外还有一些特殊情况,例如 Mysql 的 tinyint 类型,当其值为 0 或 1 时,可以和 Java 的 boolean 类型对应。
接下来我们来通过两个示例来说明这些匹配规则:
示例一:
假设 Mysql 中有一个表,其结构如下:
CREATE TABLE `person` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`birthday` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
)
对应的 Java 实体类可以设计如下:
public class Person {
private Long id;
private String name;
private Integer age;
private Timestamp birthday;
// getter 和 setter 方法省略
}
这里使用了 Java 的包装类型,而不是基本数据类型,这样可以方便的处理 null 值。
示例二:
假设 Mysql 中有一个表,其结构如下:
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`username` varchar(20) DEFAULT NULL,
`password` varchar(50) DEFAULT NULL,
`is_admin` tinyint(1) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
)
对应的 Java 实体类可以设计如下:
public class User {
private Long id;
private String username;
private String password;
private Boolean isAdmin;
private Timestamp createTime;
// getter 和 setter 方法省略
}
这里将 Mysql 中的 tinyint 类型和 Java 中的 boolean 类型对应起来,注意当 Mysql 中的 tinyint 值为 0 或 1 时,对应的 Java 属性值分别为 false 和 true。
以上是本人对于 Mysql 字段和 Java 实体类属性类型匹配的攻略,希望能对您有所帮助,如果有任何问题可以继续咨询。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mysql字段和java实体类属性类型匹配方式 - Python技术站