-
Notifications
You must be signed in to change notification settings - Fork 46
创建 Model
王爵nice edited this page Mar 18, 2018
·
5 revisions
创建一个数据库 Model
非常容易,Anima 需要你知道一些约定,这样你在编程中会省去更多不必要的操作。
- 模型类以驼峰式命名(
HelloWorld
、User
) - 对应的数据库表是类名的复数形式,以下划线(
_
)分隔(hello_words
、users
) - 字段命名也是驼峰式规则
- 默认表的主键是
id
假设目前我们有一张数据表,它是类似下面的结构
CREATE TABLE `users` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`user_name` varchar(50) NOT NULL DEFAULT '',
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
那么我们创建一个 Model
public class User extends Model {
private Integer id;
private String userName;
private Integer age;
// getter 和 setter 省略
}
这样就完成了 Model
的创建,下面介绍一些其他的操作(可能大部分情况你用不到)。
Anima 提供了一个注解 @Table
帮助你在类上面自定义表名和主键,比如表名是 user_info
、主键是 uid
。
@Table(name = "user_info", pk = "uid")
public class User extends Model {
private Integer uid;
}
有些时候我们在 Model
中定义了一些字段,他们并不是数据库中的字段,所以对他们进行忽略,否则查询出的数据会自动映射,这样会产生异常。
Anima 提供了 @Ignore
注解,你可以用于字段之上,当你的系统中有多个同名注解的时候记得 package 是 io.github.biezhi.anima.annotation
下的哦 😯
大多数情况下我是不会用到这个操作的,但是难免遇到表不是我们创建的,不符合规范。
比如在表中遇到一个字段 productname
,这个字段我们在字段中是 productName
,
但这样写的话就会出问题了,会匹配到字段 product_name
,这就尴尬了。。。
此时 Anima 提供了 @Column
字段帮你纠正这些不规范的操作。
@Column(name = "productname")
private String productName;
搞定!了解了这些之后我们就可以开始 操作数据库 了,let's go ~
Contributing
Documentation
- Getting started
- Create Model
- Query DB
- Save to DB
- Updates and Deletes
- Transaction
- Integration with Spring
- Advanced Usage
Other resources
中文文档