使用idea2021创建一个springBoot项目,并实现查询功能

一、快速创建springBoot项目

创建完成后,记住一定要再setting中修改自己下载的Maven!!!

二、数据库

CREATE TABLE `idioms`  (
  `ID` double DEFAULT NULL,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `spell` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `derivation` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `samples` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

INSERT INTO `idioms` VALUES (1, '陂湖禀量', 'bēi hú bǐng liáng', '比喻度量宽广恢弘。', '《后汉书·黄宪传》:“叔度汪汪若千顷陂,澄之不清,淆之不浊,不可量也。”', NULL);
INSERT INTO `idioms` VALUES (2, '北道主人', 'běi dào zhǔ rén', '北道上接待过客的主人。与“东道主人”同义。', '《后汉书·邓晨传》:“更始北都洛阳,以晨为常山太守。会王郎反,光武自蓟走信都,晨亦间行会于巨鹿下,自请从击邯郸。光武曰:‘伟卿(邓晨)以一从我,不如以一郡为我北道主人。’”', NULL);
INSERT INTO `idioms` VALUES (3, '备而不用', 'bèi ér bù yòng', '准备好了,以备急用,眼下暂存不用。', '清·吴趼人《糊涂世界》:“虽说备而不用,到得那时候,听凭兵丁造一句谣言,开上几排枪,那人可就死了不少。”', '凡是零星物件,本地买不出,一定要用,或是~的,也都齐全。(清·颐琐《黄绣球》第十七回)');
INSERT INTO `idioms` VALUES (4, '贝阙珠宫', 'bèi què zhū gōng', '用珍珠宝贝做的宫殿。形容房屋华丽。', '战国·楚·屈原《九歌·河伯》:“鱼鳞屋兮龙堂,紫贝阙兮朱宫。”', '你看那香焚宝鼎,紫雾漾漾,玉楼金殿,~,便如天宫之景也。(明·无名氏《庆长生》第四折)');
INSERT INTO `idioms` VALUES (5, '笔诛墨伐', 'bǐ zhū mò fá', '笔、墨:指文字。诛:谴责。伐:声讨。通过文字加以谴责,进行声讨。', NULL, NULL);

三、编写代码配置项目

三/1.编写application.yml

(这里我将自带的application.properties改成了application.yml)

# 应用服务 WEB 访问端口
server:
  port: 8087
#下面这些内容是为了让MyBatis映射
#指定Mybatis的Mapper文件
mybatis:
  mapper-locations: classpath:mapper/*.xml
  #指定Mybatis的实体目录
  type-aliases-package: com.clk.demo05.mybatis.entity
#spring相关配置

spring:
  datasource:
    #注意空格 username:[空格]root
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/idiom_dict?serverTimezone=GMT%2b8
    username: dict
    password: 123456

三/2.编写实体Idioms.java

package com.clk.demo05.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class Idioms {
  private double id;
  private String name;
  private String spell;
  private String content;
  private String derivation;
  private String samples;
}

三/3.mapper接口类IdiomsMapper.java

package com.clk.demo05.mapper;

import com.clk.demo05.entity.Idioms;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
@Mapper
public interface IdiomsMapper {
  Idioms getAllIdioms(@Param("name") String name);
}

三/4.mapper实现类IdiomsMapper.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="com.clk.demo05.mapper.IdiomsMapper">
  <select id="getAllIdioms" parameterType="string" resultType="com.clk.demo05.entity.Idioms">
-- 这里由于数据库中存在重复的成语,因此就对其进行分组而达到去重的效果
    select * from idioms where `name` like #{name} group by name
  </select>
</mapper>

三/5.service服务类IdiomService.java

package com.clk.demo05.service;

import com.clk.demo05.entity.Idioms;
import com.clk.demo05.mapper.IdiomsMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class IdiomsService {
  @Autowired
  private IdiomsMapper idiomsMapper;

  public Idioms getAllIdioms(String name){
    return idiomsMapper.getAllIdioms(name);
  }
}

三/6.controller控制类IdiomsController.java

package com.clk.demo05.controller;

import com.clk.demo05.entity.Idioms;
import com.clk.demo05.service.IdiomsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/idioms")
public class IdiomsController {
  @Autowired
  public IdiomsService idiomsService;

  @GetMapping("/wordQuery")
  public Idioms getAllIdioms(@RequestParam String name){
    return idiomsService.getAllIdioms(name);
  }
}

最后的结构:

四、运行/调试

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值