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

springboot3+mybatisplus(5)-backend-mybaitsplus+frontend-router

1.backend


1.1.添加依赖




 

<?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.5.0</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>my-project-backend</artifactId><version>0.0.1-SNAPSHOT</version><name>my-project-backend</name><description>my-project-backend</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-security</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--    Mybatis-Plus框架    --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.7</version></dependency><!--    MySQL驱动    --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><annotationProcessorPaths><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></path></annotationProcessorPaths></configuration></plugin><plugin><groupId>org.graalvm.buildtools</groupId><artifactId>native-maven-plugin</artifactId></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

1.2.全局配置



 

spring.application.name=my-project-backend
spring.datasource.url=jdbc:mysql://192.168.9.73:3306/pvfforecast?useSSL=false
spring.datasource.username=root
spring.datasource.password=INT@4001093999
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StudOutImpl
mybatis-plus.mapper-locations=classpath:mapper/*.xml


 

package com.myproject;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@MapperScan("com.myproject.mapper") // 指定Mapper接口所在的包
public class MyProjectBackendApplication {public static void main(String[] args) {SpringApplication.run(MyProjectBackendApplication.class, args);}}

控制器实现

1.主程序添加mapper扫描:注解 @MapperScan("com.myproject.mapper")
2.mapper处理数据库操作:表名+mapper
   不需要去写实现的内容
3.controller处理浏览器的访问   
4.entity实体类:每个表对应一个类
 

浏览器访问:
https://localhost:8080/login
user:
password:



1.3.通过config实现数据库用户名密码登录






 

1.config中添加 service


//注入2个类 密码在数据库里是加密的,浏览器中不加密的
//admin:123456
//自定义的服务类:myauthorizeService
//@Beanpublic AuthenticationManager authenticationManager(HttpSecurity security)  throws Exception{return  security.userDetailsService(myauthorizeService).getSharedObject(AuthenticationManagerBuilder.class).build();}@Beanpublic BCryptPasswordEncoder passwordEncoder(){return new BCryptPasswordEncoder();}



  2.service中添加mapper和entity 用于数据库操作
      MyuserMapper.java
 

@Service
public class MyAuthorizeService implements UserDetailsService {@ResourceMyuserMapper myuserMapper;@Overridepublic UserDetails loadUserByUsername(String username)   throws UsernameNotFoundException {if(username == null)throw new UsernameNotFoundException("用户名不能为空");Myuser myuser = myuserMapper.getuserbyusername(username);if(myuser == null)throw new UsernameNotFoundException("用户名或密码错误");//User 这是一个库里的类return User.withUsername(myuser.getUsername()).password(myuser.getPassword()).roles("user").build();}
}

MyuserMapper.java

package com.myproject.mapper;import com.myproject.entity.Myuser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;@Mapper
public interface MyuserMapper {@Select("select * from myuser where username = #{username} ")Myuser getuserbyusername(String username);
}

Myuser.java

import lombok.Data;@Data
public class Myuser {int id;String email;String username;String password;}

2.frontend
 

2.1系统搭建


1.package.json

名称
私有
版本
模块化规范
端口:5173-4173

2.index.html 入口文件

2.main.js


 

3.App.vue 3个

添加组件
设计 | Element Plus

npm install vue-axios --save
npm install vue-router
npm install pinia

1.写App.vue

2.写router: index.ts 并暴露出去



3.加载进项目里 main.ts

浏览器插件下载:

修改App.vue
 

验证:
localhost:5173/home



 

2.2 路由及路由器

 

<routerlink>

响应鼠标点击:添加RouterLink 



hash模式

 组件分类 route components



2.3.嵌套路由


 修改index.ts

子集不需要写/

调整样式在

2.4 传参query


: news.vue

             
details.vue

route 获取变量
console.log(‘@’,route);打印变量


内容已传递


上面写法只能传一次。

2.5传参params

这不是子路由,是参数

要去index.ts修改文件

参数任意命名 x y z 

打开浏览器 

第一种字符串


第二种写法 对象写法



1.用name 不能是path




不能传对象和数组

2.6路由的props





1.修改规则


 

details 支持 props

运行后看

引用route变量

2.7路由-编程式导航


 

相关文章:

  • 7.8 Evaluating the finetuned LLM
  • Linux下OLLAMA安装卡住怎么办?
  • uni-app项目怎么实现多服务环境切换
  • LangChain--(1)
  • 如何将一个url地址打包成一个windows桌面版本的应用程序
  • 质因数分解_java
  • Redis哨兵机制
  • 基于SpringAI实现专家系统
  • echarts中给饼图加圆点
  • 关于深度学习网络中的归一化BN
  • 【Java面试笔记:实战】41、Java面试核心考点!AQS原理及应用生态全解析
  • 【亲测有效】MybatisPlus中MetaObjectHandler自动填充字段失效
  • 【cv学习笔记】YOLO系列笔记
  • 树莓派5 ubuntu 24.04 docker配置镜像Docker pull时报错:https://registry-1.docker.io/v2/
  • 海外广告投放|FB IG 速推帖子有效吗?
  • 测试过程中有哪些风险?
  • 3.4_1 流量控制、可靠传输与滑动窗口机制
  • 【Spring AI 1.0.0】Spring AI 1.0.0框架快速入门(2)——提示词
  • 简述Python里面search和match的区别
  • 【富士康租赁德克萨斯州工厂以扩大AI服务器产能】
  • 网络维护协议/网店seo是什么意思
  • 小型企业网站建设的背景/南宁正规的seo费用
  • 内容营销案例分析/哪有培训seo
  • 嘉兴外贸网站制作/整站seo怎么做
  • 软件系统网站建设/长沙seo排名公司
  • 网站用什么软件程序做/网络营销教材电子版