第四章 SpringBoot 通过jbp 获取数据打印到控制台

前言:我是完成 整体使用和部署了 (也搞了很久)
到这一张就讲完最基础的获和交互

1.我因为本地连接尝试过一次出现
具体原因说 时差不对 需要替换为正确的时间格式:搜索这一句可以有很多百度解决方案

Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually. 

在连接Url加上这一串:?serverTimezone=GMT (这是我能找到最快的解决方案)
2.获取数据
不懂jpa框架人:移步这里看完介绍
3.看完后大概就基础了解原理了
我这对应贴出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.1.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>peng</artifactId>
    <version>0.0.1</version>
    <name>peng</name>
    <packaging>jar</packaging>
    <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>
<!--            &lt;!&ndash; 移除嵌入式tomcat插件 &ndash;&gt;-->
<!--            <exclusions>-->
<!--                <exclusion>-->
<!--                    <groupId>org.springframework.boot</groupId>-->
<!--                    <artifactId>spring-boot-starter-tomcat</artifactId>-->
<!--                </exclusion>-->
<!--            </exclusions>-->
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>
        <!--  数据源-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!--     数据交互配置 jpa-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>RELEASE</version>
            <scope>compile</scope>
        </dependency>
        <!--    websocket  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

<!--            <plugin>-->
<!--                <artifactId>maven-war-plugin</artifactId>-->
<!--                <configuration>-->
<!--                    <failOnMissingWebXml>false</failOnMissingWebXml>-->
<!--                </configuration>-->
<!--            </plugin>-->
        </plugins>
    </build>
    <!--    阿里云搭建了一个国内镜像http://maven.aliyun.com,跑起来速度很快,可以进行配置-->
    <repositories>
        <repository>
            <id>nexus-aliyun</id>
            <name>nexus-aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>


</project>

这里我贴出application类数据

## 端口号
server.port=8087
#服务器配置 属性
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://数据库地址:3306/数据库名称?charset=utf8mb4&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=账号
spring.datasource.password=密码
# Hikari 数据源专用配置
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
# JPA 相关配置
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true
#spring.jpa.hibernate.ddl-auto=create

上面要是前基本配置
在这里插入图片描述
这是接口定义图:上面

/**
 * @author 
 * @data 2019/8/3
 */
@RestController
@RequestMapping("/yang")
public class UserController {

    @Autowired
    private UserService userService;

    @PostMapping("/user/register")//登录
    public ResponseResult<User> getUserInfo(@RequestParam String account, @RequestParam String password) {
        System.out.print("account :"+account);
        System.out.print("password :"+password);
        UserDo userdo = userService.findByUser(account,password);
        if (userdo == null){
            return ResponseUtil.error( "error","账号或者密码错误");
        }

        User user = new User();
        user.setMailbox(userdo.getMailbox());
        user.setName(userdo.getName());
        user.setAccount(userdo.getName());
        return ResponseUtil.success( user);
    }



}

以上有几点你们肯定有疑问的:
(1)
@RestController :标明接口文件
@RequestMapping("/yang") : 标明路径
@PostMapping("/user/register") :具体路径及请求方式
@Autowired (注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来 消除 set ,get方法。 这里可以不加的)
临时想起来:这个没介绍
ResponseResult 在返回数据哪里 :我自己定义返回结构别在意因为我还没上传demo 等我demo整理完成后过几天上传

	注解使用看过上面基础会知道操作:不想看的请百度使用说明

(2)
private UserService userService; (主要是拿来做请求和数据处理)
在这里插入图片描述
这是几个就是完成我拿数据的全部操作:(介绍)
1.UserRepository
主要获取查询的数据内容 作用

import com.example.peng.entity.UserDo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.PagingAndSortingRepository;

public interface UserRepository extends PagingAndSortingRepository<UserDo,Long> {
    //查询userDo表中所有数据,传入Pageable 分页参数,不需要自己手写
    @Override
    Page<UserDo> findAll(Pageable pageable);//内部方法
    //根据 PagingAndSortingRepository 实现 对应的方法添加参数查询获取
    UserDo findByName(String name);
    //关联参数查询
    UserDo findByNameAndPassword(String name,String password);
}

2.UserDo(重点介绍)

package com.example.peng.entity;

import javax.persistence.*;
import java.io.Serializable;

@Entity //设置这是一个 实体类对象
@Table(name = "user")  //捆绑数据库名表名  记住要和数据库表名一致
public class UserDo implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY) //设置主键 自增的
    private Long id;

    @Column(length = 32)
    private String name;
    @Column(length = 16)
    private String password;
    @Column(length = 36)
    private String mailbox;

 
    @Override
    public String toString() {
        return "UserDo{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                ", mailbox='" + mailbox + '\'' +
                '}';
    }
}

在这里插入图片描述

3.UserService (上面备注)


import com.example.peng.entity.repository.UserRepository;
import org.springframework.stereotype.Service;

@Service
public class UserService {

    private UserRepository userRepository;//对应上面 第一个请求的类


    public UserDo findUserDo(long userId){
        return userRepository.findById(userId).orElse(null);//只有查询 id 才有 orElse这个操作 意思是设置没有获取到返回 null
    }

    public  UserDo findByname(String account){

        return userRepository.findByName(account);
    }

    public  UserDo findByUser(String name,String password){

        return userRepository.findByNameAndPassword(name,password);
    }

    /**
     * 如果不存在,则创建用户信息
     */
    public UserDo createUserIfNotExist(String tel) {
        UserDo userDo = findUserDoByTel(tel);//命名 有问题 查询对应数据
        if (null == userDo) {//没有就创建
            userDo = new UserDo();
            userDo.setName(tel);
            userDo.setMailbox(tel+"@163.com");
            userDo.setPassword("123456");
            saveUserDo(userDo);//这个方法就很意思 是你吧他和数据库捆绑后产生的 静态方法
        }
        return userDo; //返回创建后的数据
    }

    private UserDo findUserDoByTel(String tel){
        return userRepository.findByName(tel);
    }

    public UserDo saveUserDo(UserDo userDo){
        return userRepository.save(userDo);
    }
}

没了
我运行一下给你们看看效果:有什么不懂就留言:或者 联系邮箱
@Autowired
private UserService userService;
@Autowired
private UserRepository userRepository;
注意这两个要一定要注释不然会报错:我今天尝试去除时候就报错了!
如有更新其他(或有不懂留言或者邮件):坚持分享技术(自由)
在这里插入图片描述在这里插入图片描述
数据是对上的

谢谢观看,不放留个赞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Dim JBPsql As String = "SELECT 公司销量.商品编码, 公司销量.商品名称, 公司销量.规格, 公司销量.生产厂家, 公司销量.采购价," _ & "sum(公司销量.成交金额)/sum(公司销量.数量) as 均价, (sum(公司销量.成交金额)-sum(公司销量.采购价*公司销量.数量))/sum(公司销量.成交金额) as 毛利率, sum(公司销量.数量) as 销量, sum(公司销量.成交金额) as 金额,公司销量.采购员," _ & "sum(JBP品种.剩余可售) as JBP库存,sum(品种信息.数量) as 公司库存 FROM 公司销量 INNER JOIN JBP品种 ON 公司销量.商品编码 = JBP品种.商品编码 INNER JOIN 品种信息 ON JBP品种.商品编码 = 品种信息.商品编号 " _ & " having ( 公司销量.商品编码 like @spxx or 公司销量.商品名称 like @spxx ) and 公司销量.平台='聚宝盆' and datediff(day,@qsri,公司销量.日期)>=0 and datediff(day,公司销量.日期,@zzrq)>=0 and sum(公司销量.成交金额) > 0 and sum(公司销量.数量)>0 group by " _ & " 公司销量.商品编码, 公司销量.商品名称, 公司销量.规格, 公司销量.生产厂家, 公司销量.采购价,公司销量.采购员" 'order by sum(公司销量.成交金额) desc " Dim JBPcmd As New SqlCommand(JBPsql, conn) JBPcmd.Parameters.AddWithValue("@spxx", "%" + Replace(Trim(UCase(TextBoxX1.Text)), Chr(13) + Chr(10), "") + "%") JBPcmd.Parameters.AddWithValue("@qsri", DateTimeInput1.Value) JBPcmd.Parameters.AddWithValue("@zzrq", DateTimeInput2.Value) Dim adapter As New SqlDataAdapter(JBPcmd) 这段代码提示group 附近错误
06-10

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值