//写了两个小时啊,兄弟,要采纳我啊
//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下所有属性字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)