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

建立java项目

java端:

在idea里面新建一个java,maven项目(springboot):

注意:JDK与java都得是一样的

添加基本的依赖项:

也可以在pom.xml中点击这个,从而跳转到添加依赖

建立三层架构:

在相应的java类中添加代码:

 <1.UserController

package com.example.demo.controller;import com.example.demo.pojo.Result;
import com.example.demo.pojo.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.*;/*** 用户相关接口* 这个类定义了与用户相关的所有 RESTful API 接口。*/
@Configuration
@CrossOrigin(origins = "http://localhost:5173", allowCredentials = "true")
@RestController
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;/*** 创建新用户* @param user 用户对象,包含用户的基本信息* @return 返回一个 Result 对象,表示操作的结果*/@PostMapping("/add")public Result addUser(@RequestBody User user){System.out.println("创建新用户");int code = userService.insertUser(user); // 调用服务层的 insertUser 方法return Result.success(user); // 返回创建成功的用户对象}
}

<2.UserMapper

package com.example.demo.mapper;import com.example.demo.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Select;@Mapper // 必须保留
public interface UserMapper {// 不能有方法实现@Select("select * from user where usename=#{userName} and age =#{age}")public User getByUsernameAndPassword(User user);@Insert("insert into user(usename, age) values (#{userName}, #{age})")@Options(useGeneratedKeys = true, keyProperty = "userId") // 假设您有一个自增的主键 idpublic int createNewUser(User user);
}

<3.Result 

package com.example.demo.pojo;public class Result {private Integer code;  // 1=成功, 0=失败private String msg;    // 响应信息private Object data;   // 返回数据public Result() {}public Result(Integer code, String msg, Object data) {this.code = code;this.msg = msg;this.data = data;}// 成功(无数据)public static Result success() {return new Result(1, "success", null);}// 成功(带数据)public static Result success(Object data) {return new Result(1, "success", data);}// 失败public static Result error(String msg) {return new Result(0, msg, null);}//Get和Set方法public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}
}

<4.User

package com.example.demo.pojo;public class User {private Integer userId;private String userName;private Integer age;public User() {}public Integer getUserId() {return userId;}public void setUserId(Integer userId) {this.userId = userId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}
}

<5.UserServiceImpl

package com.example.demo.service.impl;import com.example.demo.mapper.UserMapper;
import com.example.demo.pojo.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class UserServiceImpl implements UserService {@Autowiredpublic UserMapper userMapper;@Overridepublic int insertUser(User user) {return userMapper.createNewUser(user);}
}

<6. UserService

package com.example.demo.service;import com.example.demo.pojo.User;public interface UserService {int insertUser(User user);
}

<7.application.properties

spring.application.name=demo2//文件名(要改)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/tesx//navicat创建的名字(要改)
spring.datasource.username=root
spring.datasource.password=______//密码
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
mybatis.configuration.map-underscore-to-camel-case=true
server.port=9000//端口号(要改)

其中我的tesx名在这里:

<8.在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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4.5</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.text2</groupId><artifactId>demo2</artifactId><version>0.0.1-SNAPSHOT</version><name>demo2</name><description>demo2</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.4</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter-test</artifactId><version>3.0.4</version><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><annotationProcessorPaths><path><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId></path></annotationProcessorPaths></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

<9.添加数据库这是添加好的

这是相应的步骤:

<10.测试代码(检测代码是否可以正确操作):

在idea里面配置apifox插件(就是第一个)

生成个人访问令牌,在此之前要在电脑上下好apifox,并登录:

打开apifox,点击头像,账号管理

点击新建,复制API访问令牌:

 进行测试代码,里面会填我们复制的API访问令牌

打开apifox:

java前端:

<1.在vscode里面用pnpm创建vue3的文件:

<2.在终端里面输入口令,这样前端项目就创建好了

pnpm create vue

将下面这四个口令依次复制给终端

<3.页面,点击那个链接会跳转到Vue3界面

<4.把项目中的assets,components,stores,views中的文件清空

并在App.vue里面改成下面的代码

<template><RouterView />
</template>

<5.安装 sass 依赖和Pinia - 构建用户仓库 和 持久化:

在终端输入:(安装 sass 依赖)

pnpm add sass -D

输入:(Pinia - 构建用户仓库 和 持久化)

pnpm add pinia-plugin-persistedstate -D

<6.将main.js里面修改成下面代码:

​import { createApp } from 'vue'
import { createPinia } from 'pinia'
import persist from 'pinia-plugin-persistedstate'
import App from './App.vue'
import router from './router'const app = createApp(App)app.use(createPinia().use(persist))
app.use(router)
app.mount('#app')​

在stores文件夹里面建一个文件user.js,并放入下面代码:

// 从pinia库中导入defineStore函数,用于定义一个新的store
import { defineStore } from 'pinia';
// 从vue库中导入ref函数,用于创建一个响应式引用
import { ref } from 'vue';// 定义一个名为useUserStore的store,用于管理用户相关的状态
export const useUserStore = defineStore(// store的唯一标识符,通常用于调试和持久化'user',// 一个函数,返回一个包含state和actions的对象() => {// 使用ref创建一个响应式的token变量,初始值为空字符串const name = ref(''); // 定义一个设置token的函数,该函数接收一个参数t,并将其赋值给token.value// 这样做可以确保token是一个响应式引用,并且当它的值改变时,任何依赖于它的Vue组件都会重新渲染const setName = (t) => (name.value = t); // 返回包含token和setToken的对象,这样它们就可以在store的外部被访问和使用了return { name, setName };},// store的配置对象,这里启用了持久化功能{// 设置persist为true以启用持久化,这意味着store的状态将在页面刷新或重新加载时被保存和恢复// 注意:这里只是简单地启用了持久化,但没有指定具体的持久化策略(如存储位置、密钥等)persist: true // -->持久化}// 注意:上面的代码示例中,直接使用{ persist: true }可能不会按预期工作,// 因为Pinia本身并不直接支持持久化配置。持久化通常是通过插件(如pinia-plugin-persistedstate)来实现的。// 因此,需要先安装该插件,并在Pinia配置中正确地使用它。
);

<7.接下来依次向终端复制下面口令:

axios-数据交互
pnpm add axios
element-ui组件配置
pnpm install element-plus
pnpm add element-plus
pnpm add -D unplugin-vue-components unplugin-auto-import

<8.在main.js中全局导入

这样前后端都基本完成了

相关文章:

  • 【电商接口】如何通过小红书订单API实现高效电商数据管理?
  • MQTT报文介绍
  • 怎么把cursor(Cursor/ollama)安装到指定路径
  • Python图像处理全攻略:从基础到前沿技术深度剖析
  • Java 中 LRU 缓存机制详解与实践​
  • Linux操作系统:信号
  • 【Spring Boot】配置实战指南:Properties与YML的深度对比与最佳实践
  • C语言---内存函数
  • 【亲测有效】Ubuntu22.04安装黑屏重启进入系统卡死
  • AI赋能R-Meta分析核心技术:从热点挖掘到高级模型
  • openlayer:07点击实现切换图层之addLayer
  • 【leetcode】70. 爬楼梯
  • Java 参数值传递机制
  • 采用线性优化改进评估配电网的灵活性范围
  • docker-compose使用详解
  • Unity中SRP Batcher使用整理
  • BeamDojo: Learning Agile Humanoid Locomotion on Sparse Footholds
  • 【深度估计 Depth Estimation】数据集介绍
  • 静态方法和实例方法的区别
  • NVIDIA GPU 性能调优与诊断完全指南
  • 网站开发师职责/百度账号一键登录
  • 温州网站建设 首选国鼎网络好/班级优化大师简介
  • 网站建设字图/免费个人网站建设
  • 岳阳网站建设方案/百度指数的主要用户是
  • 网站建设网站定制/百度手机助手官网