2019-01-23

作者: DreamPath | 来源:发表于2019-01-25 12:55 被阅读2次

    数据表与简单Java类综合运用整理

    设计步骤:
    • 1.写出基本属性(包含出现关联(自身关联和外键关联)的属性)的基本字段(包括封装的类属性,默认构造方法.带参数的构造方法,setter,getter方法,以及获取字段的方法等).
    • 2.设计关系字段
    图片.png
    • 3.执行数据操作
      设置数据关系
      部门类
    package empDept;
    
    public class Dept {
        private int detno;
        private String dname;
        private String loc;
        //一个部门有多个雇员,雇员数组
        private Emp [] emps;
            //构造器
        public Dept(){}
        public Dept(int detno,String dname,String loc){
            this.detno=detno;
            this.dname=dname;
            this.loc=loc;
        }
        //一个部门有多个雇员  关系设计
        public void setEmps(Emp [] emps){
            this.emps=emps;
        }
        public Emp [] getEmps(){
            return this.emps;
        }
        
        
        public void setDetno(int detno){
            this.detno=detno;
        }
        public int getDetno(){
            return detno;
        }
        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;
        }
        public String getInfore(){
            return "部门编号"+this.detno+",名称"+this.dname+",位置"+this.loc;
        }
    }
    

    雇员类

    package empDept;
    
    public class Emp {
        private int empno;
        private String ename;
        private String job;
        private double sal;
        private double comm;
        private Emp mgr;//雇员领导  一个雇员有一个领导
        private Dept dept;//一个雇员属于一个部门
        //默认构造器
        public Emp(){}
        //含参数构造器
        public Emp(int empno,String ename,String job,double sal,double comm){
            this.empno=empno;
            this.ename=ename;
            this.job=job;
            this.sal=sal;
            this.comm=comm;
        }
        public void setMgr(Emp mgr){
            this.mgr=mgr;
        }
        public Emp getMgr(){
            return mgr;
        }
        public void setDept(Dept dept){
            this.dept=dept;
        }
        public Dept getDept(){
            return dept;
        }
        public int getEmpno() {
            return empno;
        }
        public void setEmpno(int 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 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 String getInfore(){
                return "雇员编号:"+this.empno+",姓名:"+this.ename+",职位:"+this.job+",薪水:"+this.sal+",佣金:"+this.comm;
            }
        
    }
    

    测试,输出雇员领导关系及其基本信息类

    package empDept;
    
    public class TestDemo {
    public static void main(String [] args){
        //设置数据关系
        //第一步,根据已有的表结构设置数据
        //准备好所有的独立的类对象
        Dept dept =new Dept(10,"ACC","New YOURK");
        Emp empa=new Emp(3547,"due","软件程序员",8000,0.0);
        Emp empb=new Emp(5436,"gs","软件测试工程师",10000.8,0.0);
        Emp empc=new Emp(8749,"kdy","服务器开发工程师",13000.9,5.5);
        //设置彼此关系
        empa.setMgr(empb);//设置雇员领导关系
        empb.setMgr(empc);//设置雇员领导关系
        
        empa.setDept(dept);//设置部门关系
        empb.setDept(dept);//设置部门关系
        empc.setDept(dept);//设置部门关系
        dept.setEmps(new Emp[]{empa,empb,empc});//一个领导有多个雇员
        
        //取出雇员的完成关系
        //根据表结构利用引用关系取得关系数据
        System.out.println(empa.getInfore());//打印雇员基本信息
        System.out.println("\t-[领导信息]"+empa.getMgr().getInfore());//打印雇员领导信息
        System.out.println("\t-[部门信息]"+empa.getDept().getInfore());//打印雇员部门信息
        
        System.out.println("\n=======================\n");
        //取出一个部门完整信息
        
        System.out.println(dept.getInfore());//部门信息
        //输出雇员信息
        for(int i=0;i<dept.getEmps().length;i++){
            System.out.println("\t [雇员信息]"+dept.getEmps()[i].getInfore());
            if(dept.getEmps()[i].getMgr()!=null){
                System.out.println("\t\t|雇员领导"+dept.getEmps()[i].getInfore());
            }
        }
        /**雇员编号:3547,姓名:due,职位:软件程序员,薪水:8000.0,佣金:0.0
                  -[领导信息]雇员编号:5436,姓名:gs,职位:软件测试工程师,薪水:10000.8,佣金:0.0
                  -[部门信息]部门编号10,名称ACC,位置New YOURK
    
    =======================
    
    部门编号10,名称ACC,位置New YOURK
         [雇员信息]雇员编号:3547,姓名:due,职位:软件程序员,薪水:8000.0,佣金:0.0
                  |雇员领导雇员编号:3547,姓名:due,职位:软件程序员,薪水:8000.0,佣金:0.0
         [雇员信息]雇员编号:5436,姓名:gs,职位:软件测试工程师,薪水:10000.8,佣金:0.0
                  |雇员领导雇员编号:5436,姓名:gs,职位:软件测试工程师,薪水:10000.8,佣金:0.0
         [雇员信息]雇员编号:8749,姓名:kdy,职位:服务器开发工程师,薪水:13000.9,佣金:5.5
         */
    }
    }
    

    相关文章

      网友评论

        本文标题:2019-01-23

        本文链接:https://www.haomeiwen.com/subject/dyzjjqtx.html