当前位置: 首页 > news >正文

公司的网站难不难做开发板是干什么的

公司的网站难不难做,开发板是干什么的,招聘网站开发兼职,网站建设除了凡科还有哪些一、引言 1. 项目背景与目标 在现代Web开发中#xff0c;CRUD#xff08;创建、读取、更新、删除#xff09;操作是几乎所有应用程序的核心功能。本项目旨在通过Spring Boot、MyBatis和MySQL技术栈#xff0c;快速搭建一个高效、简洁的CRUD应用。我们将从零开始#xff…一、引言 1. 项目背景与目标 在现代Web开发中CRUD创建、读取、更新、删除操作是几乎所有应用程序的核心功能。本项目旨在通过Spring Boot、MyBatis和MySQL技术栈快速搭建一个高效、简洁的CRUD应用。我们将从零开始逐步实现一个用户管理系统的增删改查功能。 2. 技术选型与适用场景 Spring Boot简化了基于Spring的应用开发提供了自动配置、嵌入式服务器等特性。MyBatis作为持久层框架支持自定义SQL、存储过程和高级映射灵活性高。MySQL广泛使用的开源关系型数据库性能稳定社区活跃。 二、开发环境准备 1. 开发工具与依赖安装 JDK确保已安装Java Development Kit建议版本8及以上。Maven/Gradle用于项目构建和依赖管理。IDE推荐使用IntelliJ IDEA或Eclipse。MySQL下载并安装MySQL数据库配置好数据库连接信息。 2. Spring Boot项目初始化 使用 Spring Initializr 创建项目 Project: Maven ProjectLanguage: JavaSpring Boot: 最新稳定版本Dependencies: Spring Web, MyBatis Framework, MySQL Driver 三、数据库设计与初始化 1. MySQL数据库表设计 创建一个简单的用户表user包含以下字段 CREATE TABLE user (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(50) NOT NULL UNIQUE,password VARCHAR(100) NOT NULL,email VARCHAR(100),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );2. 数据初始化脚本 在src/main/resources目录下创建data.sql文件插入一些测试数据 INSERT INTO user (username, password, email) VALUES (admin, password123, adminexample.com), (user1, password123, user1example.com);配置application.yml中的数据库连接信息 spring:datasource:url: jdbc:mysql://localhost:3306/mydb?useSSLfalseserverTimezoneUTCusername: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driver四、Spring Boot与MyBatis集成 1. MyBatis基础配置 在application.yml中添加MyBatis配置 mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.example.demo.entity2. 实体类与Mapper接口开发 实体类创建User类表示用户信息。 package com.example.demo.entity;public class User {private Integer id;private String username;private String password;private String email;private Timestamp createdAt;// Getters and Setters }Mapper接口创建UserMapper接口及对应的XML映射文件。 package com.example.demo.mapper;import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select;Mapper public interface UserMapper {Select(SELECT * FROM user WHERE id #{id})User findById(Integer id); }在src/main/resources/mapper目录下创建UserMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.demo.mapper.UserMapperselect idfindById resultTypecom.example.demo.entity.UserSELECT * FROM user WHERE id #{id}/select /mapper3. Service层与Controller层实现 Service层封装业务逻辑。 package com.example.demo.service;import com.example.demo.entity.User; import com.example.demo.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;Service public class UserService {Autowiredprivate UserMapper userMapper;public User getUserById(Integer id) {return userMapper.findById(id);} }Controller层提供RESTful API接口。 package com.example.demo.controller;import com.example.demo.entity.User; import com.example.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController;RestController public class UserController {Autowiredprivate UserService userService;GetMapping(/users/{id})public User getUser(PathVariable Integer id) {return userService.getUserById(id);} }五、CRUD功能实现 1. 创建Create功能 Mapper接口添加插入数据的方法。 Insert(INSERT INTO user (username, password, email) VALUES (#{username}, #{password}, #{email})) void insertUser(User user);Service层实现新增用户逻辑。 public void createUser(User user) {userMapper.insertUser(user); }Controller层提供新增用户的API接口。 PostMapping(/users) public void createUser(RequestBody User user) {userService.createUser(user); }2. 读取Read功能 分页查询使用MyBatis分页插件PageHelper。select idfindAllUsers resultTypecom.example.demo.entity.UserSELECT * FROM user /selectPageHelper.startPage(pageNum, pageSize);ListUser users userMapper.findAllUsers();PageInfoUser pageInfo new PageInfo(users);动态条件查询按用户名模糊搜索。select idfindUsersByUsername resultTypecom.example.demo.entity.UserSELECT * FROM user WHERE username LIKE CONCAT(%, #{username}, %) /select3. 更新Update功能 Mapper接口添加更新数据的方法。 Update(UPDATE user SET username#{username}, password#{password}, email#{email} WHERE id#{id}) void updateUser(User user);Service层实现更新用户逻辑。 public void updateUser(User user) {userMapper.updateUser(user); }Controller层提供更新用户的API接口。 PutMapping(/users/{id}) public void updateUser(PathVariable Integer id, RequestBody User user) {user.setId(id);userService.updateUser(user); }4. 删除Delete功能 硬删除直接从数据库中删除记录。 Delete(DELETE FROM user WHERE id#{id}) void deleteUserById(Integer id);软删除添加is_deleted字段标记删除状态。 ALTER TABLE user ADD COLUMN is_deleted TINYINT DEFAULT 0;Update(UPDATE user SET is_deleted1 WHERE id#{id})void softDeleteUserById(Integer id);六、功能扩展与优化 1. 事务管理 Transactional注解确保多个操作在同一事务中执行。Service Transactional public class UserService {// CRUD方法 }2. 分页与排序 PageHelper分页插件实现分页查询。 dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion1.4.0/version /dependency排序参数动态传入根据请求参数进行排序。 PageHelper.startPage(pageNum, pageSize).setOrderBy(orderBy);3. 异常处理 全局异常捕获使用ControllerAdvice处理全局异常。ControllerAdvice public class GlobalExceptionHandler {ExceptionHandler(Exception.class)public ResponseEntityString handleException(Exception e) {return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage());} }七、测试与部署 1. 单元测试与集成测试 单元测试编写Mapper接口测试用例。 RunWith(SpringRunner.class) SpringBootTest public class UserMapperTest {Autowiredprivate UserMapper userMapper;Testpublic void testFindById() {User user userMapper.findById(1);assertNotNull(user);} }集成测试验证CRUD功能完整性。 RunWith(SpringRunner.class) SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.RANDOM_PORT) public class UserControllerIT {Autowiredprivate TestRestTemplate restTemplate;Testpublic void testGetUser() {ResponseEntityUser response restTemplate.getForEntity(/users/1, User.class);assertEquals(HttpStatus.OK, response.getStatusCode());} }2. 项目打包与部署 打包为可执行JAR文件 mvn clean package部署到本地Tomcat或云服务器 将生成的JAR文件上传至服务器并通过命令启动java -jar myapp.jar
http://www.w-s-a.com/news/598807/

相关文章:

  • 成都哪里有网站开发公司网业分离是什么
  • 购物导购网站开发女孩学建筑学好找工作吗
  • 做网站沈阳掌握夏邑进入公众号
  • 怎么做自动提卡网站谷歌推广怎么做
  • 大同网站建设熊掌号wordpress 首页单页
  • 青岛网站美工成都优秀网站建设
  • 聊城大型门户网站建设多版本wordpress
  • 建网站的公司 快云wordpress的搜索
  • 贷款网站模版东莞网站建设哪家专业
  • 做做网站已更新878网站正在建设中
  • dz旅游网站模板网站上做百度广告赚钱么
  • 青岛外贸假发网站建设seo优化名词解释
  • 四川建设厅网站施工员证查询网站建设行业政策
  • 网站全站出售dw怎么设计网页
  • 合肥网站建设方案服务网站建设推荐郑国华
  • 襄阳网站建设需要多少钱台州网站设计公司网站
  • 东莞专业拍摄做网站照片如何在百度上发布自己的广告
  • 网站建设费 科目做网站建设最好学什么
  • php商城网站建设多少钱深圳市建设
  • 有什么做糕点的视频网站黄岛做网站
  • 做视频课程网站建设一个普通网站需要多少钱
  • 专做化妆品的网站合肥做网站建设公司
  • 唐山企业网站网站建设费计入那个科目
  • 企业网站制作运营彩虹云主机官网
  • 如何建设废品网站如何在阿里云云服务器上搭建网站
  • 如何建立网站后台程序wordpress 后台管理
  • 山东外贸网站建设怎么样wordpress首页左图右文
  • 志丹网站建设wordpress 形式修改
  • 南通seo网站推广费用网站建设就业前景
  • 自适应网站做mip改造浏览器广告投放