1. 程式人生 > >springboot----搭建springboot專案,完成資料庫的查詢處理

springboot----搭建springboot專案,完成資料庫的查詢處理

SpringBoot專案搭建

一、使用idea裡面,點選File->New->Project,來建立新專案、

之後按照步驟進行選擇,1->2->3 

 

 這塊是填寫你的包名,和一些jar的基本設定,根據自己的業務填寫GroupArtifact就可以了,其他的選中預設就可以了

之後是選擇對應的依賴包,可以選擇一些基本的,或者是根據一些自己的專案需求進行新增,下面是我選擇的一些基本的依賴,web裡面的webSQL裡面的mysqlmybatis,以及nosql裡面的redis,之後選擇next,在選擇一些基本的專案儲存地址,點選結束就好了,這個時候,回自動的下載依賴,會需要一點時間,請等待一下。

 

 

之後就會生成如下的專案結構目錄,其中pom.xml檔案就是管理專案的依賴的。 

 下面添加了我對應的程式碼段,因為我要操作一些redis,所以我自己引入了兩個有關於redis的依賴,具體的我已經在註釋上寫好了。

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>這塊是你的專案的名字,不要借用我的喲</groupId>
    <artifactId>這塊是你的專案的名字,不要借用我的喲</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>這塊是你的專案的名字,不要借用我的喲</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <!--在建立springboot專案的時候選擇的redis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!--設定reids配置需要的依賴包-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
        </dependency>
        <!--使用的是jedis這個類-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>8.0.12</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--c3p0  這是我手動引入的 因為我需要連線資料庫-->
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>
        <!--fastjson 對於資料的基本操作-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.4</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

 

這個時候,應該修改yml檔案了,這個yml檔案在src->main->resources資料夾下面,這個時候你會很詫異因為根本沒有.yml檔案,其實.yml檔案是配置檔案,在專案創立的時候,是使用的.properties檔案,但是由於.yml檔案比較結構清晰,所以就使用的是.yml檔案,這個是吧不要慌,直接把application.properties檔案的字尾修改成.yml,就好了。

 下面就是我的基本配置,配置之後在resources下面建立一個mapper的資料夾,對應的mapper-locations的路徑,對應好千萬不要出錯。

#mybatis的連線
mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: 你自己對應的包名,自己看你自己建立的
#資料庫連線池
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: 123456
    url: jdbc:mysql://192.168.1.200:3306/資料庫名字?rewriteBatchedStatements=true&serverTimezone=GMT%2B8

  redis:
    host: 192.168.1.200
#    password: 123456
    port: 6379

 這個時候,開始實現資料庫的一個簡單的查詢功能,在mapper資料夾下面建立好一個xml檔案,這個是mybatis的寫法了,自己去百度吧,之後建好上面的資料夾目錄,之後切記,在啟動類裡面上面新增一個註解,去讀取mapper裡面的介面,

 在介面檔案裡面,一定要新增這個註解,

 controller,裡面涉及到redis的東西,可以自行遮蔽

package cn.aimacademy.spy.spyserver.controller;

import cn.aimacademy.spy.spyserver.server.TextServer;
import cn.aimacademy.spy.spyserver.server.redisservice.RedisService;
import cn.aimacademy.spy.spyserver.server.redisservice.RedisUtilsService;
import cn.aimacademy.spy.spyserver.utils.CommonUtils;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;
import java.util.Set;

@RestController
@RequestMapping("/TextController")
public class TextController {

    @Autowired
    private TextServer textServer;

    @Autowired
    RedisUtilsService redisUtilsService;

    @RequestMapping("/queryInfo")
    public JSONObject queryInfo() {
        JSONObject json = new JSONObject();
        json.put("sqlData",textServer.queryInfo());
        Set list = redisUtilsService.getZSetByName(CommonUtils.ENT_INFO_LIST,0,5);
        json.put("list",list);
        json.put("length",list.size());
        json.put("size",redisUtilsService.getZSetSize(CommonUtils.ENT_INFO_LIST));
        return json;
    }
}

 server裡面的,我做的是,面向介面程式設計,所以我又寫了一個介面

package cn.aimacademy.spy.spyserver.server.iml;

import cn.aimacademy.spy.spyserver.mapper.TextMapper;
import cn.aimacademy.spy.spyserver.server.TextServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public class TextServerIml implements TextServer {

    @Autowired
    private TextMapper textMapper;

    @Override
    public List<Map<String, Object>> queryInfo() {
        return textMapper.queryInfo();
    }
}

 介面

package cn.aimacademy.spy.spyserver.server;

import java.util.List;
import java.util.Map;

public interface TextServer {
    List<Map<String,Object>> queryInfo();
}

mapper

package cn.aimacademy.spy.spyserver.mapper;

import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface TextMapper {
    List<Map<String,Object>> queryInfo();
}

 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">
<mapper namespace="cn.aimacademy.spy.spyserver.mapper.TextMapper">

    <select id="queryInfo" resultType="java.util.Map">
          查詢語句,自己寫一個
    </select>

</mapper>

 利用介面測試工具postman進行了資料的測試,成功