当前位置: 首页 > news >正文

网站建站咨询/怎么弄一个网站平台

网站建站咨询,怎么弄一个网站平台,网站模版好建设吗,淮安做网站说明:学习本内容需要对简单Java类及其熟悉,如果不熟悉简单Java类,可学习以下地址内容:https://blog.csdn.net/weixin_45176509/article/details/102686050 基本概念(综合应用) 根据数据表的结构实现简单Jav…

说明:学习本内容需要对简单Java类及其熟悉,如果不熟悉简单Java类,可学习以下地址内容:https://blog.csdn.net/weixin_45176509/article/details/102686050


基本概念(综合应用)


根据数据表的结构实现简单Java类。数据库之中提供数据表,实体数据表描述实体概念。程序类的定义与实体表定义差距不大。数据表与简单Java设计关系如下:
1·数据实体表设计=类的定义;
2·表中的字段=类的成员属性;
3·表的外键关联=引用关联;
4·表的一行记录=类的一个实例化对象;
5·表的多行记录=对象数组;

在以后实际项目开发过程中一定是分两步实现;
第一步·根据表的结构关系进行对象配置;
第二步·根据要求通过结构获取数据;
例子:假如现在有一个员工信息表和一个部门信息表。一个员工只属于一个部门,一个部门拥有多个员工,一个员工只有一个领导,领导也是员工。
通过员工,可以获得该员工领导信息和该员工所属部门信息;
通过部门,可以获得该部门所拥有全部员工信息;

代码实现:

//部门类
class Dep{
private long dno;     //定义属性
private String name;
private String place;
private Emp emp[]; //一个部门有多个员工
public Dep(){}   //无参构造方法
public Dep(long dno,String name,String place){   //有参构造方法this.dno=dno;this.name=name;this.place=place;}
public void setEmp(Emp []emp){  //set方法this.emp=emp;}public Emp [] getEmp(){   //get方法return this.emp;}
public String getInfo1(){    //获得全部信息方法return +this.dno+"、"+this.name+"、"+this.place;} 
}
//员工类
class Emp{
private long eno;
private String name;
private Dep dep; //一个员工属于一个部门
private Emp leader;public Emp(){}public Emp(long eno,String name) {this.eno=eno;this.name=name;
}
public void setDep(Dep dep) {this.dep=dep;
}
public Dep getDep() {return this.dep;
}
public void setLeader(Emp leader) {this.leader=leader;
}
public Emp  getLeader() {return this.leader;
} 
public String getInfo2() {return this.eno+"、"+this.name;
}
}
//主类public class yingshe{
public static void main(String args[]){Dep dep1 =new Dep(1234,"七宝琉璃宗","天斗帝国");Dep dep2 =new Dep(1354,"昊天宗","星罗帝国");Emp a=new Emp(1111,"唐三");Emp b=new Emp(2222,"戴姆拜");Emp c=new Emp(2222,"仍盈盈");Emp leader1 =new Emp(1,"大师");Emp leader2 =new Emp(2,"柳二龙");
//设置关系:一个员工只属于一个部门a.setDep(dep1);b.setDep(dep2);c.setDep(dep1);
//设置关系:一个部门拥有多个员工dep1.setEmp(new Emp[] {a,c});dep2.setEmp(new Emp[] {b});
//设置关系:一个员工只有一个领导a.setLeader(leader1);b.setLeader(leader2);
//输出System.out.println("部门dep1信息:"+dep1.getInfo1());//部门dep1信息for(int x=0;x<dep1.getEmp().length;x++) {System.out.println("该部门第"+(x+1)+"号员工:"+dep1.getEmp()[x].getInfo2()); //通过部门获得员工信息if(dep1.getEmp()[x].getLeader()!=null) {System.out.println((x+1)+"号员工领导:"+dep1.getEmp()[x].getLeader().getInfo2()); //通过部门间接获取员工领导信息}else{System.out.println((x+1)+"号员工无领导");}
}
System.out.println();
System.out.println("部门dep2信息:"+dep2.getInfo1());//部门dep2信息
for(int y=0;y<dep2.getEmp().length;y++) {System.out.println("该部门第"+(y+1)+"号员工:"+dep2.getEmp()[y].getInfo2());//通过部门获得员工信息if(dep1.getEmp()[y].getLeader()!=null) {System.out.println((y+1)+"号员工领导:"+dep2.getEmp()[y].getLeader().getInfo2());//通过部门间接获得员工领导信息}else{System.out.println((y+1)+"号员工无领导");}
}System.out.println();System.out.println("员工a的领导:"+a.getLeader().getInfo2());//通过员工直接获得领导信息System.out.println("员工a的部门:"+a.getDep().getInfo1());//通过员工获得部门信息}
}

输出结果:
部门dep1信息:1234、七宝琉璃宗、天斗帝国
该部门第1号员工:1111、唐三
1号员工领导:1、大师
该部门第2号员工:2222、仍盈盈
2号员工无领导
部门dep2信息:1354、昊天宗、星罗帝国
该部门第1号员工:2222、戴姆拜
1号员工领导:2、柳二龙
员工a的领导:1、大师
员工a的部门:1234、七宝琉璃宗、天斗帝国


一对多映射


将上述例题分解,其中部门与职员之间存在一对多关系,即一个部门有多名员工。
通过部门可以获得该部门所有员工的信息;

//部门类
class Dep{
private long dno;
private String name;
private String place;
private Emp emp[]; //一个部门有多个员工
public Dep(){}
public Dep(long dno,String name,String place){this.dno=dno;this.name=name;this.place=place;}
public void setEmp(Emp []emp){this.emp=emp;}
public Emp [] getEmp(){return this.emp;}
public String getInfo1(){return +this.dno+"、"+this.name+"、"+this.place;} 
}
//员工类
class Emp{
private long eno;
private String name;
public Emp(){}
public Emp(long eno,String name) {this.eno=eno;this.name=name;
}
public String getInfo2() {return this.eno+"、"+this.name;
}
}
//主类public class yingshe{
public static void main(String args[]){Dep dep1 =new Dep(1234,"七宝琉璃宗","天斗帝国");Emp a []=new Emp [] {new Emp(1111,"唐三"),new Emp(2222,"戴姆拜"),new Emp(2222,"仍盈盈")};//设置关系:一个部门拥有多个员工dep1.setEmp(a);//输出System.out.println("部门dep1信息:"+dep1.getInfo1());//部门dep1信息for(int x=0;x<dep1.getEmp().length;x++) {System.out.println("该部门第"+(x+1)+"号员工:"+dep1.getEmp()[x].getInfo2()); //通过部门获得员工信息}}}

输出结果:
部门dep1信息:1234、七宝琉璃宗、天斗帝国
该部门第1号员工:1111、唐三
该部门第2号员工:2222、戴姆拜
该部门第3号员工:2222、仍盈盈


多对多映射


顾客去超市购物,一个顾客浏览多个商品,一个商品被多个顾客浏览,顾客和商品之间存在多对多的关系。
通过商品,可以显示其所有浏览过该商品的顾客信息;
通过顾客,可以打印该顾客浏览过的所有商品信息;

class User{private long uid;private String name;private Product product [];public User(){}public User(long uid,String name){this.uid=uid;this.name=name;}
//getter,setter略
public void setProduct(Product [] product){this.product=product;}
public Product [] getProduct(){return this.product;}
public  String getInfo(){return  "用户id:"+this.uid+"、用户名:"+this.name;}
}
class Product{private long pid;private String name;private double price;private User user [];//定义顾客属性public Product(){}
public Product(long pid,String name,double price){this.pid=pid;this.name=name;this.price=price;}
//getter,setter略
public void setUser(User [] user){this.user=user;}
public User [] getUser(){return this.user;}
public String getInfo(){return "商品id:"+this.pid+"、商品名称:"+this.name+"、商品价格:"+this.price;}
}
public class yingshe{public static void main (String args[]){//1、设置对象及关系User m=new User(123,"盖聂");User n=new User(456,"卫庄");Product a=new Product(01,"毛巾",10.5);Product b=new Product(02,"脸盆",20.0);Product c=new Product(03,"牙刷",12.0);m.setProduct(new Product [] {a,b,c});n.setProduct(new Product [] {a});a.setUser(new User [] {m,n});b.setUser(new User [] {m});c.setUser(new User [] {n});//2、获取数据System.out.println("**********根据浏览记录显示顾客信息");for(int x=0;x<a.getUser().length;x++){System.out.println("a商品浏览顾客:"+a.getUser()[x].getInfo());}for(int x=0;x<b.getUser().length;x++){System.out.println("b商品浏览顾客:"+a.getUser()[x].getInfo());}for(int x=0;x<c.getUser().length;x++){System.out.println("c商品浏览顾客:"+c.getUser()[x].getInfo());}System.out.println("**********根据顾客信息显示浏览记录");for(int x=0;x<m.getProduct().length;x++){System.out.println("m顾客浏览记录:"+m.getProduct()[x].getInfo());}for(int y=0;y<=n.getProduct().length-1;y++){System.out.println("n顾客浏览记录:"+n.getProduct()[y].getInfo());}
}
}

输出结果:
**********根据浏览记录显示顾客信息
a商品浏览顾客:用户id:123、用户名:盖聂
a商品浏览顾客:用户id:456、用户名:卫庄
b商品浏览顾客:用户id:123、用户名:盖聂
c商品浏览顾客:用户id:456、用户名:卫庄
**********根据顾客信息显示浏览记录
m顾客浏览记录:商品id:1、商品名称:毛巾、商品价格:10.5
m顾客浏览记录:商品id:2、商品名称:脸盆、商品价格:20.0
m顾客浏览记录:商品id:3、商品名称:牙刷、商品价格:12.0
n顾客浏览记录:商品id:1、商品名称:毛巾、商品价格:10.5


复杂多对多映射


在进行实际项目国产中,对于用户的授权管理是一项重要的任务,下面为一个常见用户权限管理的表结构设计,基本关系如下:
·一个用户可以拥有多个角色,一个角色可能有多个用户;
·一个角色可以拥有多个权限;

要求实现如下功能:
·根据一个用户找到该用户所对应的所有角色,以及每一个角色所对应的权限信息;
·根据一个角色找到该角色下的所有权限,以及拥有此角色的全部用户信息;
·根据一个权限找到具备此权限的所有用户。

//用户类
class User{
private long uid;
private String uname;
private Role roles[];  //角色
public User(){}
public User(long uid,String uname){  //有参构造
this.uid=uid;
this.uname=uname;
}
//setter,getter略
public void setRoles(Role roles[]){this.roles=roles;}
public Role [] getRoles(){return this.roles;}
public String getInfo(){   //用于输出用户信息return "用户id:"+this.uid+"、用户名:"+this.uname;}
}
//角色类
class Role{
private long rid;
private String rname;
private User users[]; //用户
private	Pri pris[]; //权限
public Role(){}
public Role(long rid,String rname){
this.rid=rid;
this.rname=rname;
}//setter,getter略
public void setUsers(User users []){this.users=users;
} 
public User [] getUsers(){return this.users;}
public void setPris(Pri [] pris){this.pris=pris;}
public Pri [] getPris(){return this.pris;}
public String getInfo(){return "角色id:"+this.rid+"、角色名:"+this.rname;}
}
//权限类
class Pri{
private long pid;
private String pname;
private Role roless ;  //角色
public Pri(){}
public Pri(long pid,String pname){
this.pid=pid;
this.pname=pname;
}
//setter,getter略
public void setRoless(Role roless){this.roless=roless;}
public Role getRoless(){return this.roless;}
public String getInfo(){return "权限id:"+this.pid+"、权限名:"+this.pname;}
}
public class Company{
public static void main (String args[]){//1、声明对象实例化,设置权限User a=new User(1,"温宁");//2个用户User b=new User(2,"江城");Role x=new Role(101,"岐山");//3个角色Role y=new Role(202,"云梦");Role z=new Role(303,"兰陵");Pri m=new Pri(11,"检察寮");//5个权限Pri n=new Pri(22,"炼药房");Pri p=new Pri(33,"兵器谱");Pri q=new Pri(44,"演武场");Pri c=new Pri(55,"太学厅");//角色与权限关系:一个角色拥有多个权限x.setPris(new Pri [] {m,n});y.setPris(new Pri [] {p,q});z.setPris(new Pri [] {c});//权限与角色关系:一个权限可以被多个角色拥有m.setRoless(x);n.setRoless(x);p.setRoless(y);q.setRoless(y);c.setRoless(z);//用户与角色关系:一个用户拥有多个角色a.setRoles(new Role [] {x,y});b.setRoles(new Role [] {x,z});//角色与用户关系:一个角色有多个用户扮演x.setUsers(new User [] {a,b});y.setUsers(new User [] {a});z.setUsers(new User [] {b});//2、获取数据System.out.println("通过用户查找信息******************");System.out.println("用户【a】全部信息:"+a.getInfo());for(int d=0; d<a.getRoles().length;d++){System.out.println("用户【a】扮演【"+(d+1)+"】号角色信息:"+a.getRoles()[d].getInfo());for (int e=0; e<a.getRoles()[d].getPris().length; e++){System.out.println("用户【a】的【"+(d+1)+"】号角色的第【"+(e+1)+"】个权限信息:"+a.getRoles()[d].getPris()[e].getInfo());}}System.out.println("通过角色查找信息******************");System.out.println("角色【x】全部信息:"+x.getInfo());for(int f=0;f<x.getPris().length;f++){System.out.println("角色【x】的【"+(f+1)+"】号权限信息:"+x.getPris()[f].getInfo());}for (int g=0;g<x.getUsers().length ; g++){System.out.println("角色【x】的第【"+(g+1)+"】用户信息:"+x.getUsers()[g].getInfo());}System.out.println("通过权限查找信息*******************");System.out.println("权限【m】全部信息:"+m.getInfo());System.out.println("权限【m】角色信息:"+m.getRoless().getInfo());for (int h=0;h<m.getRoless().getUsers().length ;h++ ){System.out.println("权限【m】所对应的角色对应的第【"+(h+1)+"】个用户信息为;"+m.getRoless().getUsers()[h].getInfo());}
}
}

输出结果:
通过用户查找信息******************
用户【a】全部信息:用户id:1、用户名:温宁
用户【a】扮演【1】号角色信息:角色id:101、角色名:岐山
用户【a】的【1】号角色的第【1】个权限信息:权限id:11、权限名:检察寮
用户【a】的【1】号角色的第【2】个权限信息:权限id:22、权限名:炼药房
用户【a】扮演【2】号角色信息:角色id:202、角色名:云梦
用户【a】的【2】号角色的第【1】个权限信息:权限id:33、权限名:兵器谱
用户【a】的【2】号角色的第【2】个权限信息:权限id:44、权限名:演武场
通过角色查找信息******************
角色【x】全部信息:角色id:101、角色名:岐山
角色【x】的【1】号权限信息:权限id:11、权限名:检察寮
角色【x】的【2】号权限信息:权限id:22、权限名:炼药房
角色【x】的第【1】用户信息:用户id:1、用户名:温宁
角色【x】的第【2】用户信息:用户id:2、用户名:江城
通过权限查找信息*******************
权限【m】全部信息:权限id:11、权限名:检察寮
权限【m】角色信息:角色id:101、角色名:岐山
权限【m】所对应的角色对应的第【1】个用户信息为;用户id:1、用户名:温宁
权限【m】所对应的角色对应的第【2】个用户信息为;用户id:2、用户名:江城

http://www.lbrq.cn/news/1613539.html

相关文章:

  • 企业开源建站系统/网站seo外包
  • 红酒哪个网站做的好/熊猫关键词挖掘工具
  • 林业网站建设有哪些/公司宣传推广方案
  • 佛山做外贸网站平台/百度官网认证
  • 西安做网站哪里价格低/培训机构管理系统
  • 做网站怎么样才能赚到钱/企业关键词优化推荐
  • 合肥建网站公司/李勇seo的博客
  • 毕业设计做的网站抄袭/爱站网关键词搜索
  • 制作网站一般多少钱/市场调研方法有哪些
  • 怎么做游戏充值代理网站/如何创建一个个人网站
  • 企业公司网站制作建设/seo主要做什么工作内容
  • 在上阿里云做网站/简单网页制作成品和代码
  • 山东做网站建设的好公司哪家好/做一个自己的网站
  • 有做自由行包车的网站/全网营销代理加盟
  • 开发平台免费版/seo快速培训
  • web编程/seo怎么做优化方案
  • 购物网站的设计思路/网店培训班
  • 网站单页推广/seo技术专员招聘
  • 网页传奇哪个比较好玩/seo网站优化优化排名
  • 做外贸在什么网站最好/seo网络优化公司
  • 建设银行南通通州支行网站/文案写作软件app
  • 株洲的网络营销公司有哪些/seo搜索引擎优化实训总结
  • 汉中专业网站建设推广/带佣金的旅游推广平台有哪些
  • 廊坊seo建站/推广普通话的意义是什么
  • 前端怎么做自己的博客网站/东莞seo优化排名推广
  • 网站制作方案垂直领域获客/店铺推广引流的方法
  • 华强北网站建设/seo检查工具
  • 贵阳网站建设哪家/微信推广图片
  • wordpress 伪娘/班级优化大师怎么加入班级
  • wordpress上传图片/爱站网seo培训
  • 【Android】通知
  • Docker 部署与配置 MySQL 5.7
  • 函数 dirfd 详解
  • 【未解决】STM32无刷电机驱动电路问题记录
  • FFmpegHandler 功能解析,C语言程序化设计与C++面向对象设计的核心差异
  • 了解SQL