温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL怎么实现Scott数据映射

发布时间:2022-02-19 09:01:54 阅读:174 作者:iii 栏目:开发技术
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

这篇“MySQL怎么实现Scott数据映射”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL怎么实现Scott数据映射”文章吧。

    1、SQL

    DROP TABLE IF EXISTS `tb_dept`;
    CREATE TABLE `tb_dept`  (
      `deptno` tinyint(2) UNSIGNED NOT NULL  COMMENT '部门编号',
      `dname` varchar(14CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门名称',
      `loc` varchar(13CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门地址',
      PRIMARY KEY (`deptno`) USING BTREE
    ) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    INSERT INTO `tb_dept` VALUES (10'ACCOUNTING''NEW YORK');
    INSERT INTO `tb_dept` VALUES (20'RESEARCH''DALLAS');
    INSERT INTO `tb_dept` VALUES (30'SALES''CHICAGO');
    INSERT INTO `tb_dept` VALUES (40'OPERATIONS''BOSTON');
    
    -------------------------------------------------------------------
    DROP TABLE IF EXISTS `tb_emp`;
    CREATE TABLE `tb_emp`  (
      `empno` int(4) UNSIGNED NOT NULL,
      `ename` varchar(10CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `job` varchar(9CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `mgr` int(4) UNSIGNED  NULL DEFAULT NULL,
      `hiredate` date NULL DEFAULT NULL,
      `sal` decimal(72NULL DEFAULT NULL,
      `comm` decimal(72NULL DEFAULT NULL,
      `deptno` tinyint(2) UNSIGNED NULL DEFAULT NULL,
      PRIMARY KEY (`empno`) USING BTREE,
      INDEX `deptno`(`deptno`) USING BTREE,
      CONSTRAINT `tb_emp_ibfk_1` FOREIGN KEY (`deptno`) REFERENCES `tb_dept` (`deptno`) ON DELETE RESTRICT ON UPDATE RESTRICT
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    INSERT INTO `tb_emp` VALUES (7369'SMITH''CLERK'7902'1980-12-17'800.00NULL20);
    INSERT INTO `tb_emp` VALUES (7499'ALLEN''SALESMAN'7698'1981-02-20'1600.00300.0030);
    INSERT INTO `tb_emp` VALUES (7521'WARD''SALESMAN'7698'1981-02-22'1250.00500.0030);
    INSERT INTO `tb_emp` VALUES (7566'JONES''MANAGER'7839'1981-04-02'2975.00NULL20);
    INSERT INTO `tb_emp` VALUES (7654'MARTIN''SALESMAN'7698'1981-09-28'1250.001400.0030);
    INSERT INTO `tb_emp` VALUES (7698'BLAKE''MANAGER'7839'1981-05-01'2850.00NULL30);
    INSERT INTO `tb_emp` VALUES (7782'CLARK''MANAGER'7839'1981-06-09'2450.00NULL10);
    INSERT INTO `tb_emp` VALUES (7788'SCOTT''ANALYST'7566'1987-04-19'3000.00NULL20);
    INSERT INTO `tb_emp` VALUES (7839'KING''PRESIDENT'NULL'1981-11-17'5000.00NULL10);
    INSERT INTO `tb_emp` VALUES (7844'TURNER''SALESMAN'7698'1981-09-08'1500.000.0030);
    INSERT INTO `tb_emp` VALUES (7876'ADAMS''CLERK'7788'1987-05-23'1100.00NULL20);
    INSERT INTO `tb_emp` VALUES (7900'JAMES''CLERK'7698'1981-12-03'950.00NULL30);
    INSERT INTO `tb_emp` VALUES (7902'FORD''ANALYST'7566'1981-12-03'3000.00NULL20);
    INSERT INTO `tb_emp` VALUES (7934'MILLER''CLERK'7782'1982-01-23'1300.00NULL10);

    2、实体类

    2.1、Dept.java

    /**
     * 部门
     * @author HC
     *
     */
    public class Dept {
        /**
         * 部门编号
         */
        private Integer deptno;
        /**
         * 部门名称
         */
        private String dname;
        /**
         * 部门地址
         */
        private String loc;
    
        public Dept() {
        }
    
        public Dept(Integer deptno, String dname, String loc) {
            this.deptno = deptno;
            this.dname = dname;
            this.loc = loc;
        }
    
        public Integer getDeptno() {
            return deptno;
        }
    
        public void setDeptno(Integer deptno) {
            this.deptno = deptno;
        }
    
        public String getDname() {
            return dname;
        }
    
        public void setDname(String dname) {
            this.dname = dname;
        }
    
        public String getLoc() {
            return loc;
        }
    
        public void setLoc(String loc) {
            this.loc = loc;
        }
    
        @Override
        public String toString() {
            return "Dept{" +
                    "deptno=" + deptno +
                    ", dname='" + dname + '\'' +
                    ", loc='" + loc + '\'' +
                    '}';
        }
    }

    2.2、Emp.java

    /**
     * 员工
     * @author HC
     */
    public class Emp {
        /**
         * 员工编号
         */
        private Integer empno;
        /**
         * 员工姓名
         */
        private String ename;
        /**
         * 工作
         */
        private String job;
        /**
         * 上级领导编号
         */
        private Integer mgr;
        /**
         * 受雇日期
         */
        private LocalDate hiredate;
        /**
         * 薪资
         */
        private Double sal;
        /**
         * 奖金
         */
        private Double comm;
        /**
         * 部门编号
         */
        private Integer deptno;
    
        public Emp() {
        }
    
        public Emp(Integer empno, String ename, String job, Integer mgr, LocalDate hiredate, Double sal, Double comm, Integer deptno) {
            this.empno = empno;
            this.ename = ename;
            this.job = job;
            this.mgr = mgr;
            this.hiredate = hiredate;
            this.sal = sal;
            this.comm = comm;
            this.deptno = deptno;
        }
    
        public Integer getEmpno() {
            return empno;
        }
    
        public void setEmpno(Integer empno) {
            this.empno = empno;
        }
    
        public String getEname() {
            return ename;
        }
    
        public void setEname(String ename) {
            this.ename = ename;
        }
    
        public String getJob() {
            return job;
        }
    
        public void setJob(String job) {
            this.job = job;
        }
    
        public Integer getMgr() {
            return mgr;
        }
    
        public void setMgr(Integer mgr) {
            this.mgr = mgr;
        }
    
        public LocalDate getHiredate() {
            return hiredate;
        }
    
        public void setHiredate(LocalDate hiredate) {
            this.hiredate = hiredate;
        }
    
        public Double getSal() {
            return sal;
        }
    
        public void setSal(Double sal) {
            this.sal = sal;
        }
    
        public Double getComm() {
            return comm;
        }
    
        public void setComm(Double comm) {
            this.comm = comm;
        }
    
        public Integer getDeptno() {
            return deptno;
        }
    
        public void setDeptno(Integer deptno) {
            this.deptno = deptno;
        }
    
        @Override
        public String toString() {
            return "Emp{" +
                    "empno=" + empno +
                    ", ename='" + ename + '\'' +
                    ", job='" + job + '\'' +
                    ", mgr=" + mgr +
                    ", hiredate=" + hiredate +
                    ", sal=" + sal +
                    ", comm=" + comm +
                    ", deptno=" + deptno +
                    '}';
        }
    }

    3、数据库模拟代码

    public class DB {
        private static List<Emp> emps = new ArrayList<>();
        private static List<Dept> depts = new ArrayList<>();
    
        static {
            depts.add(new Dept(10,"ACCOUNTING","NEWYORK"));
            depts.add(new Dept(20,"RESEARCH","DALLAS"));
            depts.add(new Dept(30,"SALES","CHICAGO"));
            depts.add(new Dept(40,"OPERATIONS","BOSTON"));
    
            emps.add(new Emp(7369"SMITH""CLERK"7902,LocalDate.of(19801217), 800Dnull20));
            emps.add(new Emp(7499"ALLEN""SALESMAN"7698, LocalDate.of(1981220), 1600D300D30));
            emps.add(new Emp(7521"WARD""SALESMAN"7698, LocalDate.of(1981222), 1250D500D30));
            emps.add(new Emp(7566"JONES""MANAGER"7893, LocalDate.of(198142), 2975Dnull20));
            emps.add(new Emp(7654"MARTIN""SALESMAN"7698, LocalDate.of(1981928), 1250D1400D30));
            emps.add(new Emp(7698"BLAKE""MANAGER"7839, LocalDate.of(198151), 2850Dnull30));
            emps.add(new Emp(7782"CLARK""MANAGER"7839, LocalDate.of(198169), 2450D600D10));
            emps.add(new Emp(7788"SCOTT""ANALYST"7566, LocalDate.of(1987419), 3000Dnull20));
            emps.add(new Emp(7839"KING""PRESIDENT"null, LocalDate.of(19811117), 5000Dnull10));
            emps.add(new Emp(7844"TURNER""SALESMAN"7698, LocalDate.of(198198), 1500Dnull30));
            emps.add(new Emp(7876"ADAMS""CLERK"7788, LocalDate.of(1987523), 1100D350D20));
            emps.add(new Emp(7900"JAMES""CLERK"7698, LocalDate.of(1981123), 950Dnull30));
            emps.add(new Emp(7902"FORD""ANALYST"7566, LocalDate.of(1981123), 3000Dnull20));
            emps.add(new Emp(7934"MILLER""CLERK"7782, LocalDate.of(1982123), 1300D400D10));
        }
    
        public static List<Emp> getEmps() {
            return emps;
        }
    
        public static List<Dept> getDepts() {
            return depts;
        }
    }

    以上就是关于“MySQL怎么实现Scott数据映射”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

    亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI

    开发者交流群×