首页 分享 宠物管理项目(毕业项目,可运行)

宠物管理项目(毕业项目,可运行)

来源:萌宠菠菠乐园 时间:2024-08-22 23:30

项目效果图:
在这里插入图片描述
在这里插入图片描述

项目的图片:
在这里插入图片描述

宠物管理项目 SQL语句需要导入四个架包实体类代码BaseDao辅助类PetDaoPetDaoImplPetServicePetServiceImplBaseServletListServletindex.jspinsert.jsppom.xml

SQL语句

create DATABASE petdb; use petdb; create table tb_pet(petId bigint primary key auto_increment,petName varchar(50) not null,petBreed int not null,petSex int not null,birthday date not null,description varchar(200) )default charset=utf8; insert into tb_pet (petName,petBreed,petSex,birthday,description) value ('豆豆','1','1','2010-02-24','可爱'), ('憨憨','2','2','2011-01-02','调皮'), ('冰冰','3','1','2011-09-09','漂亮'), ('猪猪','4','1','2011-09-08','白色'), ('跳跳','1','1','2011-03-02','柴犬'); select*from tb_pet where petBreed=1;

12345678910111213141516171819

需要导入四个架包

在这里插入图片描述

实体类代码

package com.thunder.pet.entity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.util.Date; /** * 实体类 * @author think */ @Data @AllArgsConstructor @NoArgsConstructor @Accessors(chain=true) public class Pet { private long petId; /** * 昵称 */ private String petName; /** * 品种 */ private long petBreed; /** * 性别 */ private long petSex; /** * 出生日期 */ private Date birthday; /** * 描述 */ private String description; }

123456789101112131415161718192021222324252627282930313233343536373839404142

BaseDao辅助类

package com.thunder.pet.dao; import java.sql.*; /** * 工具类 * @author think */ public class BaseDao { protected Connection connection = null; protected PreparedStatement preparedStatement = null; protected ResultSet resultSet = null; protected Connection getConnection() { try { try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/petdb?useUnicode=true&amp;characterEncoding=utf-8", "root","lai@2019"); } catch (Exception e) { e.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); } return connection; } // 2、关闭所有资源 protected void closeAll(Connection connection, PreparedStatement preparedStatement, ResultSet result) { if (result != null) { try { result.close(); } catch (SQLException e) { e.printStackTrace(); } } if (preparedStatement != null) { try { preparedStatement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 3、增、删、改通用方法 * @param sql SQL语句 * @param param 数组 */ protected int executeUpdate(String sql, Object...param) { // 影响行数 int num = 0; connection = this.getConnection(); try { preparedStatement = connection.prepareStatement(sql); // 为参数进行赋值 if (param != null) { for (int i = 0; i < param.length; i++) { preparedStatement.setObject(i + 1, param[i]); } } // 执行SQL语句 num = preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { this.closeAll(connection, preparedStatement, null); } return num; } /** * 执行查询操作 备注:此方法适用于纯查询使用,若是输入加查询需要另外设计 * * @param sql 语句 * @return resultSet 返回集合 */ public ResultSet executeQuery(String sql, Object...param) { connection = this.getConnection(); try { // 发送SQL语句 preparedStatement = connection.prepareStatement(sql); //参数进行赋值 if (param != null) { for (int i = 0; i < param.length; i++) { preparedStatement.setObject(i + 1, param[i]); } } // 返回结果集 resultSet = preparedStatement.executeQuery(); } catch (Exception e) { // 关闭所有连接 closeAll(connection, preparedStatement, resultSet); System.out.println("发生异常:n" + e.getMessage()); } return resultSet; } }

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118

PetDao

package com.thunder.pet.dao; import com.thunder.pet.entity.Pet; import java.sql.SQLException; import java.util.List; /** * dao层接口类 * @author think */ public interface PetDao { /** * 获取所有的宠物信息 * @param petBreed * @return * @throws SQLException */ List<Pet> getAll(long petBreed) throws SQLException; /** * 宠物添加 * @param tbPet * @return */ int insertPet(Pet tbPet); /** * 查询名字 * @param petName * @return * @throws SQLException */ Pet selectByName(String petName) throws SQLException; }

12345678910111213141516171819202122232425262728293031323334353637

PetDaoImpl

package com.thunder.pet.dao; import com.thunder.pet.entity.Pet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; /** * dao层实现类 * @author think */ public class PetDaoImpl extends BaseDao implements PetDao { /** * 查询宠物的方法和根据品种查询的方法合并在一起 * @param petBreed * @return * @throws SQLException */ @Override public List<Pet> getAll(long petBreed) throws SQLException { connection=super.getConnection(); String sql="select * from tb_pet"; StringBuffer sb=new StringBuffer(sql); List<Pet> list=new ArrayList<Pet>(); if (petBreed!=0){ //按照品种查询 sb.append(" where petBreed=? "); preparedStatement=connection.prepareStatement(sb.toString()); preparedStatement.setLong(1,petBreed); resultSet=preparedStatement.executeQuery(); selectGetAll(list); }else{ //不是按照品种查询 preparedStatement=connection.prepareStatement(sql); resultSet=preparedStatement.executeQuery(); selectGetAll(list); } //关闭文档流 super.closeAll(connection, preparedStatement, resultSet); return list; } private void selectGetAll(List<Pet> list) throws SQLException { Pet pet; while (resultSet.next()) { pet=new Pet(); pet.setPetId(resultSet.getLong("petId")); pet.setPetName(resultSet.getString("petName")); pet.setPetBreed(resultSet.getLong("petBreed")); pet.setPetSex(resultSet.getLong("petSex")); pet.setBirthday(resultSet.getDate("birthday")); pet.setDescription(resultSet.getString("description")); list.add(pet); } } @Override public int insertPet(Pet pet) { String sql="insert into tb_pet (petName,petBreed,petSex,birthday,description)value(?,?,?,?,?)"; int result=this.executeUpdate(sql,pet.getPetName() ,pet.getPetBreed(),pet.getPetSex(),pet.getBirthday(),pet.getDescription()); return result; } @Override public Pet selectByName(String petName) throws SQLException { connection=super.getConnection(); String sql="select * from tb_pet where petName=?"; preparedStatement=connection.prepareStatement(sql); preparedStatement.setString(1,petName); resultSet=preparedStatement.executeQuery(); Pet pet=null; while(resultSet.next()){ pet=new Pet(); pet.setPetId(resultSet.getLong("petId")); } return pet; } }

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081

PetService

package com.thunder.pet.service; import com.thunder.pet.entity.Pet; import java.sql.SQLException; import java.util.List; /** * 服务层 * @author think */ public interface PetService { /** * 获取所有的宠物信息 * @param petBreed * @return * @throws SQLException */ List<Pet> getAll(long petBreed) throws SQLException; /** * 宠物添加 * @param tbPet * @return */ int insertPet(Pet tbPet); /** * 查询名字 * @param petName * @return * @throws SQLException */ Pet selectByName(String petName) throws SQLException; }

12345678910111213141516171819202122232425262728293031323334353637

PetServiceImpl

package com.thunder.pet.service; import com.thunder.pet.dao.PetDao; import com.thunder.pet.dao.PetDaoImpl; import com.thunder.pet.entity.Pet; import java.sql.SQLException; import java.util.List; /** * 服务层实现类 * @author think */ public class PetServiceImpl implements PetService { private static PetDao petDao=new PetDaoImpl(); @Override public List<Pet> getAll(long petBreed) throws SQLException { return petDao.getAll(petBreed); } @Override public int insertPet(Pet Pet) { return petDao.insertPet(Pet); } @Override public Pet selectByName(String petName) throws SQLException { return petDao.selectByName(petName); } }

123456789101112131415161718192021222324252627282930313233

BaseServlet

package com.thunder.pet.servlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Method; /** * @author k */ public class BaseServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * Constructor of the object. */ public BaseServlet() { super(); } @Override protected void service(HttpServletRequest request, HttpServletResponse response) { //创建java反射实现调用方法 //不需要依赖实例化的对象就可以拿到所有类的资源 try { request.setCharacterEncoding("utf-8"); Class clazz = this.getClass(); String opr = request.getParameter("opr"); //this是拿到所有子类对象 //一开始加载主页的时候没有参数,默认是加载全部显示数据 if (opr == null) { opr = "list"; } //要找的方法的条件 Method me = clazz.getMethod(opr, HttpServletRequest.class, HttpServletResponse.class); //调用method的方法 me.invoke(this, request, response); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849

ListServlet

package com.thunder.pet.servlet; import com.thunder.pet.entity.Pet; import com.thunder.pet.service.PetService; import com.thunder.pet.service.PetServiceImpl; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; /** * @author think */ @WebServlet("/ListServlet") public class ListServlet extends BaseServlet{ private static final long serialVersionUID = 1L; private static PetService petService=new PetServiceImpl(); public void list(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException { List<Pet> list=null; String petBreedString=request.getParameter("petBreed"); if (petBreedString!=null){ int petBreed=Integer.parseInt(petBreedString); list=petService.getAll(petBreed); }else{ list=petService.getAll(0); } request.setAttribute("list",list); request.getRequestDispatcher("index.jsp").forward(request,response); } public void selectByName(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException { response.setCharacterEncoding("utf-8"); String petName=request.getParameter("petName"); Pet tbPet=petService.selectByName(petName); if (tbPet!=null){ response.getWriter().print(1); System.out.println("名字已经存在"); }else{ response.getWriter().print(0); } } public void insert(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException, ParseException, ParseException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out ; String contextPath = request.getContextPath(); String petName=request.getParameter("petName"); int petBreed=Integer.parseInt(request.getParameter("petBreed")); int petSex=Integer.parseInt(request.getParameter("petSex")); Date date=new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("birthday")); String description=request.getParameter("description"); Pet tbPet=new Pet(); tbPet.setPetName(petName); tbPet.setPetBreed(petBreed); tbPet.setPetSex(petSex); tbPet.setBirthday(date); tbPet.setDescription(description); int result=petService.insertPet(tbPet); out = response.getWriter(); if (result == -1) { out.print("<script type="text/javascript">"); out.print("alert("没有添加成功!");"); out.print("location.href="" + contextPath + "/insert.jsp";"); out.print("</script>"); } else if (result == 0) { out.print("<script type="text/javascript">"); out.print("alert("没有添加成功!");"); out.print("location.href="" + contextPath + "/insert.jsp";"); out.print("</script>"); } else { out.print("<script type="text/javascript">"); out.print("alert("已经添加成功信息,点击确认返回首页");"); out.print("location.href="" + contextPath + "/ListServlet?opr=list";"); out.print("</script>"); } } }

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>宠物信息</title> <script type="text/javascript" src="js/jquery-1.12.4.js"></script> <style> * { margin: 0; padding: 0; } div { margin:100px auto; text-align: center; } table { margin: auto; text-align: center; } tr:nth-child(2n-1) { background-color: deepskyblue; } tr:first-child { background-color: gray; } </style> </head> <body> <script> $(function () { $('#sel').click(function () { var select = document.getElementsByName("petBreed")[0]; var index = select.selectedIndex; window.location.href = "ListServlet?opr=list&petBreed=" + index; }) }) </script> <div> <h4>品种<select name="petBreed"> <option>--请选择--</option> <option>狗</option> <option>猫</option> <option>鸟</option> <option>兔</option> </select> <input type="button" value="查询" id="sel"> <a href="insert.jsp">新增宠物</a> </h4> <table border="1"> <tr> <td>宠物昵称</td> <td>出生日期</td> <td>性别</td> </tr> <c:forEach var="i" items="${requestScope.list}"> <tr> <td>${i.petName}</td> <td>${i.birthday}</td> <c:choose> <c:when test="${i.petSex==1}"> <td>雄</td> </c:when> <c:when test="${i.petSex==2}"> <td>雌</td> </c:when> </c:choose> </tr> </c:forEach> </table> </div> </body> </html>

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576

insert.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>新增宠物</title> <script type="text/javascript" src="js/jquery-1.12.4.js"></script> <style> * { margin: 0; padding: 0; } form { margin: auto; text-align: left; } </style> </head> <body> <script> $(function () { //重置 $('#reset').click(function () { $('[type=text]').val(""); $('[type=radio]').val(""); $('#petBreed').val("--请选择--"); }) //验证名字是否重复 $('#petName').blur(function () { var petName = $('#petName').val(); $.ajax({ url: "ListServlet?opr=selectByName", type: "POST", data: "petName=" + petName, dataType: "text", success: function (plam) { if (plam == 1) { alert("昵称已存在!") $('#petName').val(""); } }, error: function () { alert("222,出错了,请联系管理人员!") } }); }); //提交的时候需要非空验证 $('#sub').click(function () { var petName = $('#petName').val(); var select = document.getElementsByName("petBreed")[0]; var index = select.selectedIndex; var birthday = $('#birthday').val(); var r = new RegExp(/^(d{4})-(0d{1}|1[0-2])-(0d{1}|[12]d{1}|3[01])$/); if (petName == "" || index == 0) { alert("昵称不为空,请选择品种!") } else if (!r.test(birthday)) { alert("日期格式不正确!") } else { window.location.href = "javascript:document.form.submit()"; } }); }); </script> <form action="ListServlet?opr=insert" name="form" method="post"> <h3>宠物的基本信息</h3> 昵称:<input type="text" name="petName" id="petName"><br> 品种:<select name="petBreed" id="petBreed"> <option value="0">--请选择--</option> <option value="1">狗</option> <option value="2">猫</option> <option value="3">鸟</option> <option value="4">兔</option> </select><br> 性别:<input type="radio" name="petSex" value="1" checked>雄 <input type="radio" name="petSex" value="2">雌<br> 出生日期:<input type="text" name="birthday" id="birthday"><span>yyyy-MM-dd</span><br> 宠物描述:<input type="text" name="description" id="description"><br> <input type="button" value="提交" id="sub"> <input type="button" value="重置" id="reset"> </form> </body> </html>

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485

pom.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>PetProject</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version> </dependency> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> </dependency> </dependencies> </project>

12345678910111213141516171819202122232425262728

相关知识

宠物管理项目(毕业项目,可运行)
基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
水分管理项目有哪些
毕设项目:爱宝贝宠物交流管理系统(JSP+java+springmvc+mysql+MyBatis)
毕设项目:宠物之家管理系统(JSP+java+springmvc+mysql+MyBatis)
【网站项目】基于SSM的275宠物医院管理系统
丰容项目评估1
基于springboot实现宠物咖啡馆平台管理系统项目【项目源码+论文说明】计算机毕业设计
皮肤管理基础项目之水分管理
Java项目

网址: 宠物管理项目(毕业项目,可运行) https://www.mcbbbk.com/newsview105352.html

所属分类:萌宠日常
上一篇: 呆萌迷茫狗公仔可爱呆萌狗毛绒玩具
下一篇: 2024年什么玩具最受狗狗欢迎?

推荐分享