首页 分享 初学javaweb+mybatis练习宠物管理系统小项目

初学javaweb+mybatis练习宠物管理系统小项目

来源:萌宠菠菠乐园 时间:2024-11-08 12:41

完整动物商店小项目实现

整体项目要求

实现前后端数据的交互实现用户的登录和注册能够实现宠物库的内容的查询和展示能够完成宠物的添加、修改、删除、排序操作

涉及知识

掌握Maven项目的创建配置、mybatis的配置使用、前端基础知识、servlet请求等
整个项目构成
在这里插入图片描述

在这里插入图片描述

第一步 创建Maven项目

选择javaweb项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ktlsQOZE-1627442638697)(C:Users24670AppDataRoamingTyporatypora-user-imagesimage-20210727172122639.png)]

第二步 导入依赖项

在项目 pom.xml中进行配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BEcAeeG8-1627442638699)(C:Users24670AppDataRoamingTyporatypora-user-imagesimage-20210727172201632.png)]

第三步 创建相对应的数据创建对应的表并创建对应的实体类

注意:驼峰是命名法与数据库的属性名的命名规则

ej:实体属性 uName ==> 数据库属性名 u_name

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y6oKZ7G5-1627442638700)(C:Users24670AppDataRoamingTyporatypora-user-imagesimage-20210727172852640.png)]

创建实体类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fb5l8n6A-1627442638703)(C:Users24670AppDataRoamingTyporatypora-user-imagesimage-20210728105221364.png)]

第四步 编辑mapper接口 配置mybatis实现数据库的增删改查

可以参考上篇博文

编辑mybatis-configs.xml 配置文件 添加到resources目录中

在这里插入图片描述

编辑mybatis-configs.xml 配置文件 添加到resources目录中

目的:连接数据源(对应的数据库)、配置命名规则、配置映射文件的位置

创建对应的接口 mapper 文件 定义操作方法

创建对应接口的mapper.xml配置文件 实现具体的接口方法。(见博客)

第五步 创建数据库工具类 dao类

调用mapper中的方法,进一步连接前端实现数据与数据库的互动

调用接口方法 步骤:

创建会话工厂、创建会话、获得映射接口对象、调用接口方法 (如下)

//实现用户的登录查找 //创建会话工厂创建器 static SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); public static boolean userLink(String user, String password){ //创建工厂 try { SqlSessionFactory factory = builder.build(Resources.getResourceAsStream("mybatis-configs.xml")); //创建会话 SqlSession sqlSession = factory.openSession(); //获得映射接口对象 UserMapper mapper = sqlSession.getMapper(UserMapper.class); //调用接口 List<User> users= mapper.selectUserExist(user,password); //提交语句 sqlSession.commit(); return !users.isEmpty(); } catch (Exception e) { e.printStackTrace(); } return false; }

1234567891011121314151617181920212223 第六步 创建servlet类 实现前后端数据的交互

例用户登录的实现 具体步骤

创建servlet类 继承 父类 HttpServlet实现父类的 doGet doPost方法HttpServletRequest , HttpServletResponse 请求响应页面内容读取内容,传入到需要的参数调用dao类方法 实现具体功能

/** * 用户登录 交互类 */ // 注册对应的页面 @WebServlet("/login.do") public class UserServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setCharacterEncoding("UTF-8"); //设置相应数据的内 resp.setContentType("text/html;charset=utf-8"); // 获取用户请求的参数 String username = req.getParameter("username"); String password = req.getParameter("password"); req.setAttribute("username","3030"); // 调用接口方法 实现用户的查询 返回一个boolean型参数 if( UserDao.userLink(username,password)){ // 跳转主界面 req.getRequestDispatcher("success.do").forward(req,resp); }else{ // 跳转失败界面 req.getRequestDispatcher("faile.jsp").forward(req,resp); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }

12345678910111213141516171819202122232425262728293031323334 前端方面注意事项

servlet页面注册 一定一定 要对应jsp页面(见下图)

否则基本报错 404 某个页面没有访问…之类的问题(本次实践中出现最多的问题)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2foVBwAH-1627442638706)(C:Users24670AppDataRoamingTyporatypora-user-imagesimage-20210728110530941.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SLCBd4Zq-1627442638707)(C:Users24670AppDataRoamingTyporatypora-user-imagesimage-20210728110543711.png)]

在前端利用table实现数据库的信息的展示方法

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
要是用内嵌标签 需要提前声明

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> 1

jsp的page指令的isELIgnored属性(是否忽略EL表达式)没有设置导致的,在没有设置的情况下默认为true,也就是忽略El表达式,EL表达式的内容将作为字符串.

<table align="center" border="1" style="margin: 0px auto;width: 500px; height: auto"> <tr> <td>姓名</td> <td>性别</td> <td>类型</td> <td>年龄</td> <td>价格</td> </tr> <c:forEach var = "pet" items="${pets}"> <tr> <td>${pet.petName}</td> <td>${pet.petSex}</td> <td>${pet.petType}</td> <td>${pet.petAge}</td> <td>${pet.petPrice}</td> </tr> </c:forEach> </table>

123456789101112131415161718

结果展示:

登录界面 实现 进入到宠物商店主页 可以进行具体的操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jwx2TIQ0-1627442638708)(C:Users24670AppDataRoamingTyporatypora-user-imagesimage-20210728111030244.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-psnjCGPn-1627442638708)(C:Users24670AppDataRoamingTyporatypora-user-imagesimage-20210728111820016.png)]

查询全部宠物 并 在前段展示 部分源码展示:

Servlet类

@WebServlet("/success.do") public class PetServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 将集合保存到request中 List<Pet> pets = PetDao.showAll(); req.setAttribute("pets",pets); req.getRequestDispatcher("success.jsp").forward(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } } 123456789101112131415

前端实现

<form action="/success.do" method="post"> <table align="center" border="1" style="margin: 0px auto;width: 500px; height: auto"> <tr> <td>姓名</td> <td>性别</td> <td>类型</td> <td>年龄</td> <td>价格</td> </tr> <c:forEach var = "pet" items="${pets}"> <tr> <td>${pet.petName}</td> <td>${pet.petSex}</td> <td>${pet.petType}</td> <td>${pet.petAge}</td> <td>${pet.petPrice}</td> </tr> </c:forEach> </table> </form>

1234567891011121314151617181920

数据库工具类(包含 接口及配置)

接口 List<Pet> showAllPets(); 接口配置 <!--遍历--> <select id="showAllPets" resultType="com.strive.entity.Pet"> select * from school.tb_pets </select> 工具类 /** * 展示全部宠物 */ public static List<Pet> showAll(){ List<Pet> list = new ArrayList<>(); try { //获得映射接口对象 PetMapper mapper = returnSqlSession().getMapper(PetMapper.class); //调用接口 list = mapper.showAllPets();; //提交语句 returnSqlSession().commit(); return list; } catch (Exception e) { e.printStackTrace(); } return null; }

123456789101112131415161718192021222324252627282930

相关知识

毕设项目:宠物之家管理系统(JSP+java+springmvc+mysql+MyBatis)
江鳥/宠物管理系统项目
宠物管理系统项目有哪些
【软件工程导论】软件项目系统需求分析说明书——宠物店铺管理系统
宠物管理系统:个性化项目方案,宠物管理的智能时代
01、基于SSM的宠物领养管理系统项目介绍和项目演示
python+flask计算机毕业设计在线考试与练习系统(程序+开题+论文)
【网站项目】基于ssm236宠物医院管理系统
127.四、3.指运练习曲三
三到五岁宝宝初学轮滑教程

网址: 初学javaweb+mybatis练习宠物管理系统小项目 https://www.mcbbbk.com/newsview548944.html

所属分类:萌宠日常
上一篇: 家里是个很适合给宠物...
下一篇: 基于SpringBoot+Vue

推荐分享