• 小型进销存系统SpringBoot版本


    先给大家看一下整个项目的结构

    user

     

    sale

     

    product

     

    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>2.2.1.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.zn</groupId>
        <artifactId>springboot_invoicing</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>springboot_invoicing</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </dependency>
            <!-- 核心依赖 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <!-- 可以实现热部署,在IDEA上实现热部署还需一些额外的配置,请查阅资料 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <optional>true</optional>
                <scope>runtime</scope>
            </dependency>
    
            <!-- JDBC for mysql -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.32</version>
            </dependency>
    
            <!-- mybatis -->
            <!--mybatis-->
            <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.1</version>
            </dependency>
    
            <!--fastJson-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.12</version>
            </dependency>
            <!--druid-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.0.18</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.4.1</version>
            </dependency>
            <!--thymeleaf  新的模板引擎,比jsp要出色-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <!--jdbc-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
    
            <!-- 分页插件 -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>1.2.3</version>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
            <!--xml配置,此是为了将来整合Hibernate或者mybatis 默认没有需要配置-->
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.properties</include>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
            </resources>
        </build>
    
    </project>

    主程序

    package com.mckz;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    @MapperScan("com.mckz.*")
    @SpringBootApplication
    public class SpringbootInvoicingApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringbootInvoicingApplication.class, args);
        }
    
    }

    entity:product

    package com.mckz.entity;
    
    public class Product {
        private Integer pid;
        private String productName;
        private  int quantity;
    
        public Integer getPid() {
            return pid;
        }
    
        public void setPid(Integer pid) {
            this.pid = pid;
        }
    
        public String getProductName() {
            return productName;
        }
    
        public void setProductName(String productName) {
            this.productName = productName;
        }
    
        public int getQuantity() {
            return quantity;
        }
    
        public void setQuantity(int quantity) {
            this.quantity = quantity;
        }
    }

    entity:user

    package com.mckz.entity;
    
    import org.springframework.stereotype.Repository;
    
    @Repository
    public class User {
        private  Integer uid;
        private  String userName;
        private  String password;
        private  String realName;
    
        public Integer getUid() {
            return uid;
        }
    
        public void setUid(Integer uid) {
            this.uid = uid;
        }
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        public String getRealName() {
            return realName;
        }
    
        public void setRealName(String realName) {
            this.realName = realName;
        }
    }

    entity:sale

    package com.mckz.entity;
    
    
    import java.util.Date;
    
    public class Sale {
        private Integer sid;
        private Double price;
        private Integer quantity;
        private Double totalPrice;
        private Date saleDate;
        private Integer userId;
        private  Integer productId;
    
        private  Product product;
        private User user;
    
    
        public Product getProduct() {
            return product;
        }
    
        public void setProduct(Product product) {
            this.product = product;
        }
    
        public User getUser() {
            return user;
        }
    
        public void setUser(User user) {
            this.user = user;
        }
    
        public Integer getSid() {
            return sid;
        }
    
        public void setSid(Integer sid) {
            this.sid = sid;
        }
    
        public Double getPrice() {
            return price;
        }
    
        public void setPrice(Double price) {
            this.price = price;
        }
    
        public Integer getQuantity() {
            return quantity;
        }
    
        public void setQuantity(Integer quantity) {
            this.quantity = quantity;
        }
    
        public Double getTotalPrice() {
            return totalPrice;
        }
    
        public void setTotalPrice(Double totalPrice) {
            this.totalPrice = totalPrice;
        }
    
        public Date getSaleDate() {
            return saleDate;
        }
    
        public void setSaleDate(Date saleDate) {
            this.saleDate = saleDate;
        }
    
        public Integer getUserId() {
            return userId;
        }
    
        public void setUserId(Integer userId) {
            this.userId = userId;
        }
    
        public Integer getProductId() {
            return productId;
        }
    
        public void setProductId(Integer productId) {
            this.productId = productId;
        }
    }

    Userdao

    package com.mckz.dao;
    
    import com.mckz.entity.User;
    import org.apache.ibatis.annotations.Select;
    import org.springframework.stereotype.Repository;
    
    @Repository
    public interface UserDao {
    
        //登录的方法
        @Select("select * from users where userName=#{userName} and password=#{password}")
        public User login(User user);
    }

    Productdao

    package com.mckz.dao;
    
    import com.mckz.entity.Product;
    import org.apache.ibatis.annotations.Param;
    import org.apache.ibatis.annotations.Select;
    import org.springframework.stereotype.Repository;
    
    import java.util.List;
    
    @Repository
    public interface ProductDao {
        //查库存
        @Select("select * from product")
        public List<Product> getList();
        @Select("select * from product where pid=#{pid}")
        public Product getname(@Param("pid") Integer pid);
    }

    saledao

    package com.mckz.dao;
    
    import com.mckz.entity.Product;
    import com.mckz.entity.Sale;
    import org.apache.ibatis.annotations.Param;
    import org.apache.ibatis.annotations.Select;
    import org.springframework.stereotype.Repository;
    
    import java.util.List;
    
    @Repository
    public interface SaleDao {
        //查询
        public List<Sale> getsale(@Param("num") Integer num);
    
    
        //绑定下拉框
        @Select("select * from product")
        public List<Product> getList();
        //添加
        public int addsale(Sale sale);
    }

    saledao.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <!--namespace需要指向接口全路径-->
    <mapper namespace="com.mckz.dao.SaleDao">
        <resultMap id="getAllSales" type="com.mckz.entity.Sale">
            <id property="sid" column="sid"></id>
            <result property="quantity" column="quantity"></result>
            <result property="price" column="price"></result>
            <result column="totalPrice" property="totalPrice"></result>
            <result property="saleDate" column="saleDate"></result>
            <result column="userId" property="userId"></result>
            <result property="productId" column="productId"></result>
            <association property="product" javaType="com.mckz.entity.Product">
                <id column="pid" property="pid"></id>
                <result column="productName" property="productName"></result>
            </association>
            <association property="user" javaType="com.mckz.entity.User">
                <id property="uid" column="uid"></id>
                <result column="userName" property="userName"></result>
            </association>
        </resultMap>
    
        <select id="getsale" resultMap="getAllSales">
            select * from product as p,sale as s,users as u where p.pid=s.productId and u.uid=s.userId
            <if test="num==1">
                order by s.totalPrice DESC
            </if>
            <if test="num==2">
                order by s.saleDate DESC
            </if>
        </select>
    
    
        <insert id="addsale">
            INSERT INTO sale(price,quantity,totalPrice,saleDate,userId,productId)
             VALUE(#{price},#{quantity},#{totalPrice},#{saleDate},#{userId},#{productId})
        </insert>
    </mapper>

    service:productservice

    package com.mckz.service;
    
    import com.mckz.entity.Product;
    
    import java.util.List;
    
    public interface ProductService {
        //查库存
        public List<Product> getList();
        public Product getname(Integer pid);
    }

    service:saleservice

    package com.mckz.service;
    
    import com.github.pagehelper.PageInfo;
    import com.mckz.entity.Product;
    import com.mckz.entity.Sale;
    import org.apache.ibatis.annotations.Param;
    
    import java.util.List;
    
    
    public interface SaleService {
        //查询
        public PageInfo<Sale> getsale(@Param("num") Integer num, @Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize);
        //绑定下拉框
        public List<Product> getList();
        //添加
        public int addsale(Sale sale);
    }

    service:userservice

    package com.mckz.service;
    
    import com.mckz.entity.User;
    
    public interface UserService {
        //登录的方法
        public User login(User user);
    }

    productserviceimpl

    package com.mckz.service.impl;
    
    import com.mckz.dao.ProductDao;
    import com.mckz.entity.Product;
    import com.mckz.service.ProductService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service("ProductService")
    public class ProductServiceImpl implements ProductService {
        @Autowired
        ProductDao productDao;
    
        @Override
        public List<Product> getList() {
            List<Product> list = productDao.getList();
            return list;
        }
    
        @Override
        public Product getname(Integer pid) {
            Product getname = productDao.getname(pid);
            return getname;
        }
    }

    saleserviceimpl

    package com.mckz.service.impl;
    
    import com.github.pagehelper.Page;
    import com.github.pagehelper.PageHelper;
    import com.github.pagehelper.PageInfo;
    import com.mckz.dao.ProductDao;
    import com.mckz.dao.SaleDao;
    import com.mckz.entity.Product;
    import com.mckz.entity.Sale;
    import com.mckz.service.SaleService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service("SaleService")
    public class SaleServiceImpl implements SaleService {
    
        @Autowired
        SaleDao saleDao;
        @Autowired
        ProductDao productDao;
    
    
        @Override
        public PageInfo<Sale> getsale(Integer num, Integer pageNum, Integer pageSize) {
            Page<Sale> page = PageHelper.startPage(pageNum, pageSize);
            List<Sale> getsale = saleDao.getsale(num);
            return page.toPageInfo();
        }
    
        @Override
        public List<Product> getList() {
            List<Product> list = productDao.getList();
            return list;
        }
    
        @Override
        public int addsale(Sale sale) {
            int addsale = saleDao.addsale(sale);
            return addsale;
        }
    
    }

    userserviceimpl

    package com.mckz.service.impl;
    
    import com.mckz.dao.UserDao;
    import com.mckz.entity.*;
    import com.mckz.service.UserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    @Service("UserService")
    public class UserServiceImpl implements UserService {
    
        @Autowired
        UserDao userDao;
    
        @Override
        public User login(User user) {
            return userDao.login(user);
        }
    }

    application.properties

    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql:///invoicingsystem
    spring.datasource.username=root
    spring.datasource.password=123
    
    
    mybais.mapper-locations=classpath:mapper/*.xml
    mybatis.type-aliases-package=com.zn.entity
    
    #映射级别
    mybatis.configuration.auto-mapping-behavior=full
    
    
    #Spring Data JPA配置
    spring.jpa.hibernate.ddl-auto=update
    spring.jpa.show-sql=true
    spring.jackson.serialization.indent-output=true
    spring.jpa.database=mysql
    
    spring.main.allow-bean-definition-overriding=true
  • 相关阅读:
    修改科目的字段状态组-OBC4
    采购收货-对于物料,在工厂、库存地点中不存在物料主数据
    采购收货
    新建工厂
    采购订单收货提示,T169P表不存在
    维护工厂日历
    开始创建物料没有选择会计视图,需要怎么维护
    拓端数据tecdat|R语言分布滞后线性和非线性模型(DLMs和DLNMs)分析时间序列数据
    拓端数据tecdat|R语言分布滞后非线性模型(DLNM)研究发病率,死亡率和空气污染示例
    拓端数据tecdat|R语言中实现广义相加模型GAM和普通最小二乘(OLS)回归
  • 原文地址:https://www.cnblogs.com/whtt/p/11996641.html
Copyright © 2020-2023  润新知