• 阶段3 1.Mybatis_09.Mybatis的多表操作_2 完成account表的建立及实现单表查询




    mybatis中的多表查询:
            示例:用户和账户
                一个用户可以有多个账户
                一个账户只能属于一个用户(多个账户也可以属于同一个用户)
            步骤:
                1、建立两张表:用户表,账户表
                    让用户表和账户表之间具备一对多的关系:需要使用外键在账户表中添加
                2、建立两个实体类:用户实体类和账户实体类
                    让用户和账户的实体类能体现出来一对多的关系
                3、建立两个配置文件
                    用户的配置文件
                    账户的配置文件
                4、实现配置:
                    当我们查询用户时,可以同时得到用户下所包含的账户信息
                    当我们查询账户时,可以同时得到账户的所属用户信息

            示例:用户和角色
                一个用户可以有多个角色
                一个角色可以赋予多个用户
            步骤:
                1、建立两张表:用户表,角色表
                    让用户表和角色表具有多对多的关系。需要使用中间表,中间表中包含各自的主键,在中间表中是外键。
                2、建立两个实体类:用户实体类和角色实体类
                    让用户和角色的实体类能体现出来多对多的关系
                    各自包含对方一个集合引用
                3、建立两个配置文件
                    用户的配置文件
                    角色的配置文件
                4、实现配置:
                    当我们查询用户时,可以同时得到用户所包含的角色信息
                    当我们查询角色时,可以同时得到角色的所赋予的用户信息

    新建Account表

    DROP TABLE IF EXISTS `account`;
    
    CREATE TABLE `account` (
      `ID` int(11) NOT NULL COMMENT '编号',
      `UID` int(11) default NULL COMMENT '用户编号',
      `MONEY` double default NULL COMMENT '金额',
      PRIMARY KEY  (`ID`),
      KEY `FK_Reference_8` (`UID`),
      CONSTRAINT `FK_Reference_8` FOREIGN KEY (`UID`) REFERENCES `user` (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    
    
    insert  into `account`(`ID`,`UID`,`MONEY`) values (1,46,1000),(2,45,1000),(3,46,2000);




    查看外键Foreign Keys。外键是UID这个。引用user表的id字段。

    新建工程



    复制前的src下的代码过来

    pom.xml的依赖也拷贝过来。


    代码调整。IUserDao进行删减。



    只保留两个方法的

    改成resultType

    重新修改user实体类。保证字段和数据库对应。然后重新生成getter和setter和toString方法

    Account实体类建立


    生成getter和setter还有toString方法


    生成IAccountDao接口




    复制一个IUserDao.xml文件。改改名字叫做IAccountDao.xml














  • 相关阅读:
    Silverlight 中使用不同面板进行布局的效果比较
    将PDF格式文件添加到iPhone4手机 iBooks程序中.
    [转]学习WPF参考书
    [转]OEM版XP SP3安装时提示“序列号无效”的解决方法
    关于系统响应函数OnSysCommand
    为何在自定义消息处理函数中无法利用wParam或lParam传递指针?
    自定义消息(上)
    VC++中单选与复选按钮的使用
    VC++ Combo Box/Combo Box Ex控件
    VC++中的ON_COMMAND_RANGE宏
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11319567.html
Copyright © 2020-2023  润新知