Système de gestion de magasin de fournitures de protection contre les épidémies basé sur Java, Spring Boot, Vue.js et MySQL

Ce projet présente un système de gestion de magasin de fournitures de protection contre les épidémies, développé avec les technologies Java, Spring Boot pour le backend, Vue.js pour le frontend, et MySQL comme base de données.

Présentation des technologies

Backend : Spring Boot

Spring Boot est un framwork Java qui simplifie la création d'applications autonomes et prêtes pour la production. Il suit le principe de "convention plutôt que configuration", réduisant la complexité du développement grâce à ses paramètres par défaut. Spring Boot intègre des conteneurs web tels que Tomcat, permettant d'exécuter des applications directement sans nécessiter de déploiement de fichiers WAR. Sa fonctionnalité d'auto-configuration démarre rapidement les applications avec une configuration minimale, éliminant le besoin de nombreuses configurations XML.

Frontend : Vue.js

Vue.js est un framework JavaScript progressif pour la construction d'interfaces utilisateur interactives. Il est apprécié pour sa simplicité, sa flexibilité et son approche basée sur les composants. Vue.js permet de créer facilement des applications monopages (SPA) et des applications frontend complexes. Il offre une liaison de données réactive, où les modifications de données entraînent des mises à jour automatiques de l'interface utilisateur. L'utilisasion du DOM virtuel (Virtual DOM) optimise les performances en gérant efficacement les mises à jour du DOM. Vue.js prend en charge les composants de fichier unique (Single File Components) pour une meilleure organisation du code (HTML, CSS, JavaScript dans un même fichier) et dispose d'un écosystème riche incluant Vue Router pour la gestion des routes et Vuex pour la gestion d'état.

Base de données : MySQL

MySQL est un système de gestion de base de données relationnelle (SGBDR) open-source reconnu pour ses performances, sa fiabilité et sa flexibilité. Il prend en charge le langage SQL standard pour la manipulation des données et offre une variété de moteurs de stockage comme InnoDB et MyISAM pour répondre à divers besoins applicatifs. MySQL est compatible avec de nombreux systèmes d'exploitation (Windows, Linux, Unix).

Structure du code et configuraton

Configuration du serveur et de la base de données (application.properties)


server:
   tomcat:
       uri-encoding: UTF-8
   port: 8080
   servlet:
       context-path: /springbootoiz2b

spring:
   datasource:
       driverClassName: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://127.0.0.1:3306/springbootoiz2b?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
       username: root
       password: 123456

   servlet:
     multipart:
       max-file-size: 300MB
       max-request-size: 300MB
   resources:
     static-locations: classpath:static/,file:static/

mybatis-plus:
 mapper-locations: classpath*:mapper/*.xml
 typeAliasesPackage: com.entity
 global-config:
   id-type: 1
   field-strategy: 1
   db-column-underline: true
   refresh-mapper: true
   logic-delete-value: -1
   logic-not-delete-value: 0
   sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
 configuration:
   map-underscore-to-camel-case: true
   cache-enabled: false
   call-setters-on-nulls: true
   jdbc-type-for-null: 'null'
   

Exemple de Mapper MyBatis-Plus (YuangongDao.xml)


<?xml version="1.0" encoding="UTF-8"?>
<mapper namespace="com.dao.YuangongDao">

   <resultMap type="com.entity.YuangongEntity" id="yuangongMap">
       <result property="yuangonggonghao" column="yuangonggonghao"/>
       <result property="mima" column="mima"/>
       <result property="yuangongxingming" column="yuangongxingming"/>
       <result property="xingbie" column="xingbie"/>
       <result property="gangwei" column="gangwei"/>
       <result property="nianling" column="nianling"/>
       <result property="ruzhishijian" column="ruzhishijian"/>
       <result property="lianxifangshi" column="lianxifangshi"/>
       <result property="youxiang" column="youxiang"/>
       <result property="shenfenzheng" column="shenfenzheng"/>
   </resultMap>

	<select id="selectListVO" resultType="com.entity.vo.YuangongVO" >
		SELECT * FROM yuangong  yuangong         
       <where> 1=1 ${ew.sqlSegment}</where>
	</select>
	
	<select id="selectVO" resultType="com.entity.vo.YuangongVO" >
		SELECT  yuangong.* FROM yuangong  yuangong 	
		<where> 1=1 ${ew.sqlSegment}</where>
	</select>

   <select id="selectListView" resultType="com.entity.view.YuangongView" >
		SELECT  yuangong.* FROM yuangong  yuangong 	        
       <where> 1=1 ${ew.sqlSegment}</where>
	</select>
	
	<select id="selectView" resultType="com.entity.view.YuangongView" >
		SELECT * FROM yuangong  yuangong <where> 1=1 ${ew.sqlSegment}</where>
	</select>

</mapper>
   

Étiquettes: Java Spring Boot Vue.js MySQL Gestion de magasin

Publié le 17 juin à 00h30