zoukankan      html  css  js  c++  java
  • Android Ormlite 学习笔记2 -- 主外键关系

    以上一篇为例子,进行主外键的查询

    定义Users.java 和 Role.java

    Users -- Role 关系为:1对1 即父表关系

    Role -- Users 关系为:1对多 即子表关系

    下面看2个实体类,贴主要代码

    -- Role.java

        public ForeignCollection<Users> getUsers() {
            return users;
        }
    
        public void setUsers(ForeignCollection<Users> users) {
            this.users = users;
        }
    
        @ForeignCollectionField(eager = true) // 必须
        private ForeignCollection<Users> users;

     -- Users.java

        @DatabaseField(foreign = true, foreignColumnName = "rid")
        private Role role;
    
        public Role getRole() {
            return role;
        }
    
        public void setRole(Role role) {
            this.role = role;
        }

    1对1关系很简单,也很神奇的地方是直接调用就可以了。

        /**
         * 一对一
         * 
         * @throws SQLException
         */
        public void testSelect() throws SQLException {
            List<Users> datas = userDao.queryForAll();
            for (Users user : datas) {
                Log.i("chenrui", "[name]" + user.getName());
                Log.i("chenrui", "[Role]:" + user.getRole().getName());
            }
        }

    1对多关系,因为ForeignCollection<T> 继承了 这几个 CloseableIterable<T>, Collection<T>, Iterable<T> 接口,所以ForeignCollection<T>是可以使用foreach遍历。

        /**
         * 一对多
         * 
         * @throws SQLException
         */
        public void testSelctMore() throws SQLException {
            ForeignCollection<Users> datas = roleDao.queryForId("1").getUsers();
            if (!datas.isEmpty()) {
                for (Users user : datas) {
                    Log.i("chenrui", "User:" + user.getName());
                }
            }
        }
  • 相关阅读:
    Python·安装扩展包的几种方法
    Arduino系列硬件资源介绍
    树莓派USB摄像头的使用
    树莓派frp服务器和客户端配置教程
    树莓派frp内网穿透
    用Windows远程桌面连接树莓派的方法
    控制窗体的位置和大小
    树霉派更换软件镜像源
    I2C的库函数应用示例
    I2C总线的Arduino库函数
  • 原文地址:https://www.cnblogs.com/chenrui7/p/3568100.html
Copyright © 2011-2022 走看看