《第一行代码Java》数据表与简单Java类映射部分学习笔记与代码
2018-02-02 15:25
633 查看
.简单Java类的设计原则:
.类名=表名
.属性名称(类型)=表字段(类型)
.一个实例化对象=一行记录
.多个实例化对象(对象数组)=多行记录
.引用关系=外键约束
.相关代码:
.类名=表名
.属性名称(类型)=表字段(类型)
.一个实例化对象=一行记录
.多个实例化对象(对象数组)=多行记录
.引用关系=外键约束
.相关代码:
package org.java.yinyongsz; class Member{ private int mid; private String name; private Car car;//属于人的车,car有实例化对象表示人有车,为null则表示没有车 public Member(int mid,String name) { // TODO Auto-generated constructor stub this.mid=mid; this.name=name; } public String getInfo(){ return "人员编号:"+this.mid+",姓名:"+this.name; } public int getMid() { return mid; } public void setMid(int mid) { this.mid = mid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Car getCar() { return car; } public void setCar(Car car) { this.car = car; } } class Car{ private Member member;//车属于一个人 private String pname; public Car(String pname) { // TODO Auto-generated constructor stub this.pname=pname; } public void setMember(Member member) { this.member = member; } public Member getMember() { return member; } public String getInfo(){ return "车的名字:"+this.pname; } } public class TestDemo { public static void main(String[] args) { //1.根据既定结构设置数据 Member member=new Member (1,"张三"); Car car=new Car("宝马320"); member.setCar(car); car.setMember(member); //2.根据结构取出数据 System.out.println(car.getMember().getInfo()); System.out.println(member.getCar().getInfo()); } } /*输出结果:人员编号:1,姓名:张三 车的名字:宝马320*/
package org.java.yinyongsz; /** * * 程序主要实现部门表和数据表单的映射关系: * 1:一个部门有多个雇员 * 2:一个雇员有一个或0个领导 * @author coder * */ class Dept{ private String deptno; //部门编号; private String dname; //部门名称 private String loc; //部门位置 private Emp emps[];//多个雇员 public Dept(String deptno, String dname, String loc) { super(); this.deptno = deptno; this.dname = dname; this.loc = loc; } public String getDeptno() { return deptno; } public void setDeptno(String 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; } public Emp[] getEmps() { return emps; } public void setEmps(Emp[] emps) { this.emps = emps; } public String getinfo(){ return "部门编号:"+this.deptno+",名称"+this.dname+".位置"+this.loc; } } class Emp{ private String empno;//雇员编号 private String ename;//姓名 private String job;//工作; private double sal;//工资 private double comm;//奖励金 private Dept dept;//所在部门 private Emp mgr;//领导 public Emp(String empno, String ename, String job, double sal, double comm) { super(); this.empno = empno; this.ename= ename; this.job = job; this.sal = sal; this.comm = comm; } public String getEmpno() { return empno; } public void setEmpno(String empno) { this.empno = empno; } public String getEnameS() { return ename; } public void setEnameS(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 Dept getDept() { return dept; } public void setDept(Dept dept) { this.dept = dept; } public Emp getMgr() { return mgr; } public void setMgr(Emp mgr) { this.mgr = mgr; } public String getInfo(){ return "雇员编号:"+this.empno+",姓名:"+this.ename+",职位:"+this.job+",工资"+ this.sal+",奖金"+this.comm; } } public class DatabaseJava { public static void main(String[] args) { //根据表结设置数据 // 1 产生各自的独立对象 Dept dept=new Dept("10","account","guangan"); Emp a=new Emp("3333", "张三", "clerk", 3333, 1000); Emp b=new Emp("6666", "李四", "manager", 6666, 2000); Emp c=new Emp("8888", "张五", "boss", 9999, 3000); //设置雇员与领导的关系 a.setMgr(b); b.setMgr(c); //3.设置雇员与部门关系 a.setDept(dept); b.setDept(dept); c.setDept(dept); dept.setEmps(new Emp[]{a,b,c});//加入对象数组的用法 //2.取出数据 System.out.println(a.getInfo());//a的信息 System.out.println("\t|-"+a.getMgr().getInfo());//a.的领导信息 System.out.println("\t|-"+a.getDept().getinfo());//a的部门信息 //获得部门的完整信息(包括部门的基础信息以及部门中所有员工的和每个领导的信息) System.out.println(dept.getinfo()); for(int i=0;i<dept.getEmps().length;i++){ System.out.println(dept.getEmps()[i].getInfo()); if(dept.getEmps()[i].getMgr()!=null){ System.out.println( "\t|-"+dept.getEmps()[i].getMgr().getInfo()); } } } } /*雇员编号:3333,姓名:张三,职位:clerk,工资3333.0,奖金1000.0 |-雇员编号:6666,姓名:李四,职位:manager,工资6666.0,奖金2000.0 |-部门编号:10,名称account.位置guangan 部门编号:10,名称account.位置guangan 雇员编号:3333,姓名:张三,职位:clerk,工资3333.0,奖金1000.0 |-雇员编号:6666,姓名:李四,职位:manager,工资6666.0,奖金2000.0 雇员编号:6666,姓名:李四,职位:manager,工资6666.0,奖金2000.0 |-雇员编号:8888,姓名:张五,职位:boss,工资9999.0,奖金3000.0 雇员编号:8888,姓名:张五,职位:boss,工资9999.0,奖金3000.0 */
相关文章推荐
- 《第一行代码Java》Java类集框架部分学习笔记与代码
- 《第一行代码Java》接口部分学习笔记与代码
- python学习第二章变量和简单数据类型的部分课后练习自己尝试的代码
- 第二个代码模型:数据表与简单Java类映射
- 《第一行代码Java》DAO设计模式部分学习笔记与代码
- 《第一行代码Java》数组与String部分学习笔记与代码
- 《第一行代码Java》引用传递部分学习笔记与代码
- PHP学习笔记(3)--Mysql部分简单命令
- JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
- linux0.11学习笔记-技术铺垫-简单AB任务切换程序(4)-向现存写数据并响应时钟中断
- J2ME 3D学习笔记——实现简单的界面(附代码)
- 数据结构 学习笔记之:静态链表--史上最简单的C语言实现——只为掌握概念——不清楚静态链表的鸟鸟们有福了!
- android 多媒体部分学习笔记十--简单视频播放
- 驱动程序的内存分配(关于锁定驱动代码和数据常驻内存 学习学习红色标记部分)
- 基础学习笔记之opencv(21):一个简单有趣的皮肤检测代码
- JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
- WPF学习笔记 - 数据绑定(在代码中)
- WPF and Silverlight 学习笔记(二十二):使用代码实现绑定、绑定数据的验证
- 学习笔记——XML Schema自定义简单数据类型
- Hibernate学习之 -- 使用Middlegen-Hibernate-r5创建oracle10g的table的hibernate映射文件,Hibernate学习笔记三 ---持久化类和关系数据