java公交线路管理系统

java公交线路管理系统,第1张

//写了两个小时啊,兄弟,要采纳我啊

 //Site(站点类)

package transit;

import javautilArrayList;

import javautilList;

public class Site

{

 private Integer id; // 给每个站点分配一个ID

 private String name; // 站点的名字

 private List<Route> list; // 经过该站点的线路

 public Site()

 {

  super();

 }

 public Site(Integer id, String name)

 {

  super();

  thisid = id;

  thisname = name;

  thislist = new ArrayList<Route>();

 }

 public Integer getId()

 {

  return id;

 }

 public void setId(Integer id)

 {

  thisid = id;

 }

 public String getName()

 {

  return name;

 }

 public void setName(String name)

 {

  thisname = name;

 }

 public List<Route> getList()

 {

  return list;

 }

 public void setList(List<Route> list)

 {

  thislist = list;

 }

 // 添加线路

 public boolean addRoute(Route route)

 {

  return thisgetList()add(route);

 }

 // 删除线路

 public boolean removeRoute(Route route)

 {

  return thisgetList()remove(route);

 }

 @Override

 public String toString()

 {

  return name;

 }

 @Override

 public boolean equals(Object obj)

 {

  if (obj instanceof Site)

  {

   Site s = (Site) obj;

   return thisid == sgetId() && thisnameequals(sgetName());

  }

  return false;

 }

} //线路类

package transit;

import javautilArrayList;

import javautilDate;

import javautilList;

public class Route

{

 private Integer id; // 给每个线路分配一个ID

 private String name; // 线路名称

 private List<Site> list; // 线路所包含的站点

 private Date startDate; // 发班时间,从首站点算起

 private Date endDate; // 收班时间,从首站点算起

 public Route()

 {

  super();

 }

 public Route(Integer id, String name, Date startDate, Date endDate)

 {

  super();

  thisid = id;

  thisname = name;

  thisstartDate = startDate;

  thisendDate = endDate;

  thislist = new ArrayList<Site>();

 }

 public Integer getId()

 {

  return id;

 }

 public void setId(Integer id)

 {

  thisid = id;

 }

 public String getName()

 {

  return name;

 }

 public void setName(String name)

 {

  thisname = name;

 }

 public List<Site> getList()

 {

  return list;

 }

 public void setList(List<Site> list)

 {

  thislist = list;

 }

 public Date getStartDate()

 {

  return startDate;

 }

 public void setStartDate(Date startDate)

 {

  thisstartDate = startDate;

 }

 public Date getEndDate()

 {

  return endDate;

 }

 public void setEndDate(Date endDate)

 {

  thisendDate = endDate;

 }

 public boolean isHasThisSite(Site site)

 {

  for (Site l_site : thisgetList())

  {

   if (l_siteequals(site))

   {

    return true;

   }

  }

  return false;

 }

 // 添加站点,成功返回true

 public boolean addSite(Site site)

 {

  return thisgetList()add(site);

 }

 // 移除站点,成功返回true

 public boolean removeSite(Site site)

 {

  return thisgetList()remove(site);

 }

 @Override

 public String toString()

 {

  return name;

 }

} //公交系统

package transit;

import javautilArrayList;

import javautilList;

public class TransitSystem

{

 /

   1)增加、修改、删除一个条公交线路信息。

   2)增加、修改、删除公交站点信息。

   3)按条件显示公交线路信息(条件有按线路名称、途经车站等)。

  /

 private List<Route> routeList ;  //系统所管理的线路

 private List<Site> siteList;  //系统所管理的站点

 

 public TransitSystem(){

  routeList = new ArrayList<Route>();

  siteList = new ArrayList<Site>();

 }

 

 //增加一条线路

 public void addRoute(Route route){

  if(!routeListadd(route)){

   throw new RuntimeException("系统中已存在该线路");

  }

 }

 //修改一条线路

 public void updateRoute(Route route){

  //根据route 的id 获取已存在系统中的route

  Route l_route = getRoute(routegetId());

  if(l_route!=null){

   //注入值

   l_routesetName(routegetName());

   l_routesetList(routegetList());

   l_routesetStartDate(routegetStartDate());

   l_routesetEndDate(routegetEndDate());

  }else{

   throw new RuntimeException("线路id不匹配,无法修改");

  }

 }

 

 //获取该系统中的线路,根据id获取

 public Route getRoute(Integer id){

  Route route2 = null;

  for (Route route : thisgetRouteList())

  {

   if(routegetId()equals(id)){

    route2 = route;

   }

  }

  return route2;

 }

 

 //删除一条线路,根据对象删除

 public void removeRoute(Route route){

  if(!thisgetRouteList()remove(route)){

   throw new RuntimeException(routegetId()+"线路不存在");

  }

 }

 

 

 //增加一条公交站点

 public void addSite(Site site){

  if(!thissiteListadd(site)){

   throw new RuntimeException(sitegetId()+"站点已存在");

  }

 }

 //删除一条公交站点

 public void removeSite(Site site){

  if(!thisgetSiteList()remove(site)){

   throw new RuntimeException(sitegetId()+"站点不存在");

  }

 }

 //修改一条公交站点

 public void updateSite(Site site){

  //根据route 的id 获取已存在系统中的route

  Site l_site = getSite(sitegetId());

  if(l_site!=null){

   //注入值

   l_sitesetName(sitegetName());

   l_sitesetList(sitegetList());

  }else{

   throw new RuntimeException("站点id不匹配,无法修改");

  }

 }

 

 //获取该系统中的公交站点,根据id获取

 public Site getSite(Integer id){

  Site site2 = null;

  for (Site site : thisgetSiteList())

  {

   if(sitegetId()equals(id)){

    site2 = site;

   }

  }

  return site2;

 }

 //按线路名称查询公交线路信息

 public Route getRouteByName(String name){

  for (Route route : thisgetRouteList())

  {

   if(routegetName()equals(name)){

    return route;

   }

  }

  return null;

 }

 

 //根据途经车站查询公交线路

 public List<Route> getRouteBySite(Site site){

  return sitegetList();

 }

 public List<Route> getRouteList()

 {

  return routeList;

 }

 public void setRouteList(List<Route> routeList)

 {

  thisrouteList = routeList;

 }

 public List<Site> getSiteList()

 {

  return siteList;

 }

 public void setSiteList(List<Site> siteList)

 {

  thissiteList = siteList;

 }

} //测试类

package transit;

import javatextParseException;

import javatextSimpleDateFormat;

import javautilDate;

import javautilList;

import javautilRandom;

public class _Test

{

 public static void main(String[] args) throws ParseException

 {

  TransitSystem system = new TransitSystem();

  SimpleDateFormat format = new SimpleDateFormat("hh:MM");

  Date startDate = formatparse("07:30");

  Date endDate = formatparse("22:30");

  // 向系统中添加10条线路,20个站点

  for (int i = 0; i < 20; i++)

  {

   if (i < 10)

   {

    systemaddRoute(new Route(i, "线路" + i, startDate, endDate));

   }

   systemaddSite(new Site(i, "站点" + i));

  }

  List<Site> siteList = systemgetSiteList();

  // 为系统中的站点添加线路

  for (Route route : systemgetRouteList())

  {

   // 每条线路 随机添加N个站点

   int n = new Random()nextInt(siteListsize());

   for (int i = 0; i < n; i++)

   {

    // 每个站点也是随机,如重复,则添加失败

    int x = new Random()nextInt(siteListsize());

    if (!routeisHasThisSite(siteListget(x)))

    {

     routeaddSite(siteListget(x));

     // 同时该站点也添加该线路

     siteListget(x)addRoute(route);

    }

   }

  }

  // 查询所有的线路所包含的站点

  for (Route route : systemgetRouteList())

  {

   Systemout

     println(routegetName() + " :对应的站点集合:" + routegetList());

  }

  // 查询所有的站点对应的线路

  for (Site site : systemgetSiteList())

  {

   Systemoutprintln("站点" + sitegetName() + " :对应的线路集合: "

     + sitegetList());

  }

 }

}

requestsetCharacterEncoding("utf-8");

responsesetContentType("text/html;charset=utf-8");

PrintWriter out = responsegetWriter();

//获取请求参数

int id = IntegerparseInt(requestgetParameter("id"));

//调用dao层将这个id的学生找到

StudentDao sd = new StudentDao();

Student s = sdfindById(id);

//将学生对象保存到request范围

requestsetAttribute("s", s);

//使用请求转发,让修改页面展示将要被修改的学生信息

requestgetRequestDispatcher("updatejsp")forward(request, response);

outflush();

outclose();

这是servlet里面的内容

public Student findById(int id){

Student s = null;

Connection conn = null;

PreparedStatement pstm = null;

ResultSet rs = null;

String sql = "select from student where stuid=";

//获取连接

conn = BaseDaogetConn();

try {

pstm = connprepareStatement(sql);

pstmsetInt(1, id);

//执行查询

rs = pstmexecuteQuery();

if(rsnext()){

int stuId = rsgetInt("stuid");

String stuName = rsgetString("stuname");

String stuSex = rsgetString("stusex");

int stuAge = rsgetInt("stuage");

String stuBid = rsgetString("stubid");

//先将数据封装到Student对象中

s = new Student(stuId, stuName, stuSex, stuAge, stuBid);

//将对象放入集合

}

} catch (SQLException e) {

eprintStackTrace();

}finally{

BaseDaocloseAll(conn, pstm, rs);

}

return s;

}

//这是写在Dao里面的内容

//这个是BaseDao   加载驱动 获取链接的

public class BaseDao{

//加载驱动

static{

try {

ClassforName("oraclejdbcdriverOracleDriver");

} catch (ClassNotFoundException e) {

eprintStackTrace();

}

}

//获取连接

public static Connection getConn(){

Connection conn = null;

try {

conn = DriverManagergetConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "130130");

} catch (SQLException e) {

eprintStackTrace();

}

return conn;

}

//关闭所有资源

public static void closeAll(Connection conn,Statement st,ResultSet rs){

try {

if(null!=rs){

rsclose();

}

if(null!=st){

stclose();

}

if(null!=conn){

connclose();

}

} catch (SQLException e) {

eprintStackTrace();

}

}

}

你这个方法写的好奇怪,你传入一个参数,再返回它有什么意义呢,你用的是hibernate,hibernateDaoexecuteSqlQuery(sql)应该用个对象接收下吧,你这样写出来没什么意义这个方法

ResaultSet 的起始位置编号是1,而不是数组和List的0所以应该选C,但在实际开发过程中,不应该使用以编号取数据,而是应该以字段名取数据,这样在数据表变动时,只要字段名没有变,前面编写的程序依然不用更改,格式为:

resgetInt("id")

你说的太笼统了。 你这个ID 是静态变量还是成员变量? 是成员变量(成员变量一般是私有)的话你需要通过A的对象实例利用get函数(自己定义的,比如getID返回id的值)获取。如果是静态变量的话,你可以通过直接调用 AID来获取。 当然这些还是要看你的类啊,变量啊的限定符是哪些。

你最好能贴出代码

这个是Spring的依赖注入控制反转的特性。就是声明了一个ArrayList对象,你在类里面可以根据id来获取到此对象。类似你在java类中:List restrictionList = new ArrayList();restrictionListadd("");

spring的这种思想的唯一好处就是增加了模块的重用性灵活性。

一般配置文件里存的都是数据,键值之类的。Spring的配置文件把要引用类和要给类传的参数都放到配置文件里,这样比以前写死在程序里更灵活,因此更具重用性。

以上就是关于java公交线路管理系统全部的内容,包括:java公交线路管理系统、JAVA servlet中怎么根据JSP页面传来的ID,用hql语句查询主键ID里的信息、java中sql语句根据项目id查询id下所有属性字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9648827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存