停车场车位租赁管理系统(java源码+数据库脚本)

首先数据库脚本:

CREATE TABLE rent(
	id INT(32) PRIMARY KEY AUTO_INCREMENT,
	userName VARCHAR(22) NOT NULL,
	carName VARCHAR(32) NOT NULL,
	`status` INT(50) NOT NULL,
	maturityDate DATE NOT NULL
)CHARSET=utf8;

INSERT INTO rent(userName,carName,`status`,maturityDate)
VALUES('周晓阳','京A3098W',1,'2022-06-17'),
('张三','冀DZ3344',0,'2022-08-17'),
('tom','豫JZ7631',0,'2023-06-17');

代码实现:

实体类:

    private int id;
    private  String userName;
    private  String carName;
    private  int status;
    private Date  maturityDate;
//get+set方法

Dao层:

public interface RentDao {
    //查询全部
    List<Rent> getAll();
    //模糊查询(更具车牌号查询)
    Rent getRentInfoByCarNum(String carName);
    //添加的方法
    int addRent(Rent rent);
    //修改的方法
    int updateRent(int status,int id);
}

Dao--impl:

public class RentDaoImpl extends BaseDao implements RentDao {
    /**
     * 查询的方法
     * @return
     */
    @Override
    public List<Rent> getAll() {
        String sql="select * from rent";
        ResultSet rs = this.executeQuery(sql, null);
        List<Rent> rentList=new ArrayList<>();
        try {
            while (rs.next()){
                Rent rent=new Rent();
                rent.setId(rs.getInt("id"));
                rent.setUserName(rs.getString("userName"));
                rent.setCarNum(rs.getString("carName"));
                rent.setStatus(rs.getInt("status"));
                rent.setMaturityDate(rs.getDate("maturityDate"));
                rentList.add(rent);
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return rentList;
    }
    /**
     *模糊查询(更具车牌号查询)
     * @param carName
     * @return
     */

    @Override
    public Rent getRentInfoByCarNum(String carName) {
        String sql="select * from rent where carName=?";
        Object[] objects={carName};
        ResultSet rs = this.executeQuery(sql, objects);
       Rent rent=null;
        try {
            if (rs.next()){
                rent=new Rent();
                rent.setId(rs.getInt("id"));
                rent.setUserName(rs.getString("userName"));
                rent.setCarNum(rs.getString("carName"));
                rent.setStatus(rs.getInt("status"));
                rent.setMaturityDate(rs.getDate("maturityDate"));
            }

        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return rent;
    }
    
    @Override
    public int addRent(Rent rent) {
        String sql="INSERT INTO `rent`(`userName`,`carName`,`status`,`maturityDate`)\n" +
                "VALUES (?,?,?,?)";
        Object[] objects={rent.getUserName(),rent.getCarNum(),rent.getStatus(),rent.getMaturityDate()};
        return this.executeUpdate(sql,objects);
    }

    @Override
    public int updateRent(int status,int id) {
        String sql="update rent set status=? where id=?";
        Object[] objects={status,id};
        return this.executeUpdate(sql,objects);
    }
}

Service层:

public interface RentService {
    //查询全部
    List<Rent> getAll();
    //模糊查询(更具车牌号查询)
    boolean getRentInfoByCarName(String carName);
    //添加的方法
    boolean addRent(Rent rent);
    //修改的方法
    boolean updateRent(int status,int id);
}

ServiceImpl:

public class RentServiceImpl implements RentService {
    RentDao rd=new RentDaoImpl();

    @Override
    public List<Rent> getAll() {
        return rd.getAll();
    }

    @Override
    public boolean getRentInfoByCarName(String carName) {
        if (rd.getRentInfoByCarNum(carName)!=null){
            return true;
        }
        return false;
    }

    @Override
    public boolean addRent(Rent rent) {
        if (rd.addRent(rent)>0){
            return true;
        }
        return false;
    }

    @Override
    public boolean updateRent(int status, int id) {
        if (rd.updateRent(status, id)>0){
            return true;
        }
        return false;
    }
}

页面:

sho.jsp的展示数据的页面关键代码:

<table align="center" border="0">
    <tr>
        <td>
            <h1 align="center">停车场车位租聘管理系统</h1>
        </td>
    </tr>
    <tr>
        <td><input type="button" value="车位租赁" onclick="add()"></td>
    </tr>
    <tr>
        <td>
            <table align="center" class="two" cellpadding="5" cellspacing="5">
    <tr>
        <th>租聘姓名</th>
        <th>车牌号</th>
        <th>租聘状态</th>
        <th>到期日期</th>
        <th>操作</th>
    </tr>
    <c:forEach items="${rentList}" var="rent">
        <tr>
            <td>${rent.userName}</td>
            <td>${rent.carNum}</td>
            <td id="s${rent.id}">
                <c:if test="${rent.status==1}">已到期</c:if>
                <c:if test="${rent.status==0}">租聘中</c:if>
            </td>
            <td>${rent.maturityDate}</td>
            <td >
                <a href="#" id="c${rent.id}" onclick="updateStatus(${rent.status},${rent.id})">
                    <c:if test="${rent.status==1}">已到期</c:if>
                    <c:if test="${rent.status==0}">退租</c:if>
                </a>
            </td>
        </tr>
    </c:forEach>
            </table>
        </td>
    </tr>
</table>

隔行换色:

  $("[class='two'] tr:even").css("background","pink");
  $(" [class='two'] tr:odd").css("background","orange");

修改的额脚本:

 function updateStatus(status,id) {
        if(status==0){
            var answer = confirm("确认修改吗?");
            if(answer){
                $.ajax({
                    type:"get",
                    url:"UpdateServlet?status="+status+"&id="+id,//两个参数  状态和id
                    dataType:"json",
                    success:function (data) {
                        //根据回调函数 true:修改成功,修改页面上的文字
                        if(data.exist==true){
                            document.getElementById("c"+id).innerText='已过期';
                            document.getElementById("s"+id).innerHTML='已过期';
                            alert("修改成功!");
                        }else{
                            alert("修改失败");
                        }
                    }
                })
            }
        }else{
            alert("您的车位已到期!")
        }

点击跳转的脚本:

 function add() {
        window.location="add.jsp";
    }

 添加表单:(展示需求填写信息的表单)关键代码

<form action="AddServlet"method="post">
    <table align="center">
        <tr>
            <td align="center" colspan="2"><h1 >添加车位租赁信息</h1></td>
        </tr>
        <tr>
            <td>租赁人姓名</td>
            <td><input type="text" name="userName" id="userName"></td>
        </tr>
        <tr>
            <td>车牌号</td>
            <td><input type="text" name="carName" id="carName" onblur="check()">
                <p id="msg"></p>
            </td>
        </tr>
        <tr>
            <td>到期日期</td>
            <td><input type="text" name="time" id="time"></td>
        </tr>
        <tr>

            <td><input type="submit" value="提交"></td>
        </tr>
    </table>
</form>

光标移开的事件,关键代码:

<script>
    function check() {
        var carName = document.getElementById("carName");
        $.post("ShowServlet","path=checkCarName&carName="+carName.value,function (data){
            if (data=="true"){
                document.getElementById("msg").innerText="该车位有车"
            }else {
                document.getElementById("msg").innerText="该车可以租车"
            }
        });
    }
</script>

Servlet:

展示全部的Servlet(ShowServlet):

@WebServlet("/ShowServlet")
public class ShowServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        HttpSession session = request.getSession();
        RentService rs=new RentServiceImpl();
        String path = request.getParameter("path");
        if (path==null){
            List<Rent> rentList= rs.getAll();
            request.setAttribute("rentList",rentList);
            request.getRequestDispatcher("show.jsp").forward(request,response);
        }else if(path.equals("checkCarName")){
            String carName = request.getParameter("carName");
            boolean f = rs.getRentInfoByCarName(carName);
            response.getWriter().print(f);
        }
     }
 }

添加的Servlet(AddServlet):

@WebServlet("/AddServlet")
public class AddServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=UTF-8");
        RentService rs=new RentServiceImpl();
        String userName = request.getParameter("userName");
        String carName = request.getParameter("carName");
        String time = request.getParameter("time");
        int status=0;
        Rent rent=new Rent();
        rent.setStatus(status);
        rent.setUserName(userName);
        rent.setCarNum(carName);
        Date dTime=null;
        SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd");
        try {
            dTime=sdf.parse(time);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        rent.setMaturityDate(dTime);
        boolean flag = rs.addRent(rent);
        if(flag){
            response.getWriter().print("<script>alert('添加成功'); window.location='ShowServlet';</script>");
        }else{
            response.getWriter().print("<script>alert('添加失败'); window.location='ShowServlet';</script>");
        }
    }
 }

修改的Servlet(UpdateServlet):

@WebServlet("/UpdateServlet")
public class UpdateServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        RentService rs=new RentServiceImpl();
        String id = request.getParameter("id");
        String status = request.getParameter("status");
        int s=1;
        if((Integer.valueOf(status)==0)){
            s=1;
            //调用修改的方法
            boolean flag = rs.updateRent(s, Integer.valueOf(id));
            HashMap<String,Object> resultMap=new HashMap<String,Object>();
            resultMap.put("exist",flag);
            response.getWriter().print(JSON.toJSONString(resultMap));
        }
    }
}

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值