JFinal

登录 注册

1 快速上手

2 JFinalConfig

3 Controller

4 AOP

5 ActiveRecord

6 Enjoy 模板引擎

7 EhCachePlugin

8 RedisPlugin

9 Cron4jPlugin

10 Validator

11 国际化

12 Json 转换

13 JFinal架构及扩展

14 升级到 3.5

5.11 复合主键

    JFinal ActiveRecord从2.0版本开始,采用极简设计支持复合主键,对于Model来说需要在映射时指定复合主键名称,以下是具体例子:

ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
// 多数据源的配置仅仅是如下第二个参数指定一次复合主键名称
arp.addMapping("user_role", "userId, roleId", UserRole.class);
 
//同时指定复合主键值即可查找记录
UserRole.dao.findById(123, 456);
 
//同时指定复合主键值即可删除记录
UserRole.dao.deleteById(123, 456);


     如上代码所示,对于Model来说,只需要在添加Model映射时指定复合主键名称即可开始使用复合主键,在后续的操作中JFinal会对复合主键支持的个数进行检测,当复合主键数量不正确时会报异常,尤其是复合主键数量不够时能够确保数据安全。复合主键不限定只能有两个,可以是数据库支持下的任意多个。

    对于 Db + Record 模式来说,复合主键的使用不需要配置,直接用即可:

Db.findById("user_role", "roleId, userId", 123, 456);
Db.deleteById("user_role", "roleId, userId", 123, 456);