提示:本文适用于初学者,资深玩家仁者见仁智者见智
前言
在家闲来无事,想起最基础的spring boot项目,但整合jdbc,链接数据库一整个操作对于初学者来说还是有些困难,我顺带记录一下。之后把springboot整合Mybatis和整合redis以及一些案例也写一下,期待成品给大家。。。。
提示:以下是本篇文章正文内容,下面案例可供参考
一、spring boot的helloworld
首先打开idea
创建新项目,例如创建一个demo0305项目工程
之后选择springboot项目的web功能就可以了
点击Finish生成项目,注意:初始加载可能会有很多文件,比较缓慢,耐性等待右下角无加载项就可以了
(1)·有同学可能要问不是链接mysql吗?不用把MySQL功能也选上吗???
我的回答是:这个后面在pom.xml文件里增加相关的依赖就行,暂时不用选择,也是可以运行的。
之后在src下创建一个Controller的包,为了代码规范,建议把所有的Controller放在一个包里,方便查看
再新建一个helloController的Java文件,用于编写hello请求的响应方法
生成文件格式如下图所示即可
此时就已经有了主启动文件Demo0305Application和控制文件helloController
接下来就开始编辑helloController文件
具体代码如下
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
class helloController {
@GetMapping("/hello")
public String hello(){
return "hello Spring Boot";
}
}
(2)此时同学们要问,@GetMapping这个方法是怎么写的,内在逻辑是什么?
其实只是写了个@GetMapping的注解,但要在@RestController之后,再写一个类,返回hello Spring Boot字样,具体的底层代码可以按着Ctrl点击注释本身,你就能跳转到底层的实现逻辑
到此,保存一下就可以启动项目了(右上角绿色按钮启动)
成功启动后,在浏览器访问localhost:8080/hello显示成功hello spring boot
hello world调试成功,我的有位老师说过,只要hello world调试成功,就应该把项目全部都运行出来,只是时间的问题。后面点击右上角红色关闭服务器
二、spring boot整合jdbc,实现MySQL的查询和显示
实现了helloworld,现在链接MySQL就需要在pom.xml文件里增加相关的依赖了,需要增加的依赖在spring官网也能查到,下面我给出所需的依赖
<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>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--Spring boot 核心-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--Mysql依赖包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- druid数据源驱动 -->
<dependency>
<groupId>***.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
<version>1.7.2</version>
</dependency>
</dependencies>
原始的依赖只有两个一个是spring-boot-starter-web这个依赖,另外一个是spring-boot-starter-test这个依赖,这两个一个是web项目所用的,一个是用来测试的,也是最基本的两个。==这个pom文件要看得懂。==而且 <dependencies和
<dependency的这两者关系也要看清楚
为了方便操作,我上面给的这些依赖就是所有的依赖,已经包含了基本的那两个依赖,直接覆盖dependencies里面就行了,之后点击右上角的加载项,把依赖加载完,也是直至右下角加载完成。
现在MySQL的相关依赖已经加入,但是对于端口和MySQL的账号密码还没设置,所以现在开始设置MySQL
(1)配置资源,要在resource文件下配置
(1)有两种创建配置文件的方法,要用哪一种呢?
一种创建文件的方法是直接在application.properties里面配置
配置文件如下
spring.datasource.driver-class-name=***.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
这个文件前面都带有spring.datasource的前缀并且管理起来也不方便
所以另外一种创建配置类的方法是,创建一个application.yml的yml文件,使得结构清晰,方便管理
并且yml文件的书写方法方便快捷,如下
spring:
datasource:
url: jdbc:mysql://localhost:3306/blog? useUnicode=true&characterEncoding=utf8
username: root
password: 123456
driver-class-name: ***.mysql.cj.jdbc.Driver
注意:yml文件的顶格和空格代表了上下级关系,所以这个顶格不能去掉。
这里创建yml文件的方法
需要再设置File---->Settings
Editor---->File And Code Templates
手动输入ym File 后面输入yml,点击右下角apply即可
这样,在resource右键new的时候,就看见yml文件了,输入application即可生成application.yml文件,就可以配置MySQL的账户密码了
生成如图
注意:3306/后面这个是你的数据库名字,我这里数据库里有个blog的表,待会我会进行查询,你们也可以在数据库里设置自己的数据库,并把名字复制到这里就行了。我的数据库里有这些记录,待会要查到,并显示。
这时,MySQL就链接好了,开始建立查询,我们重新写一个Controller,就命名为jdb***ontroller,创建方法和helloController的方法一样,如下图所示
在里面编写文件
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
import java.util.List;
@RestController
public class jdb***ontroller {
@Autowired
JdbcTemplate jdbcTemplate;
//写一个list请求,查询数据库信息
@GetMapping("/list")
public List<Map<String,Object>> list(){
String sql="select * from ***mentlikes";
List<Map<String,Object>> list_map=jdbcTemplate.queryForList(sql);
return list_map;
}
}
有一个 @Autowired的注解,这里也是自动注入的注解,还有一条我们熟悉的 @GetMapping注解,list里面包含了一条sql语句,具体语句是写在双引号里面并进行赋值的,使用List<Map<String,Object>> list_map=jdbcTemplate.queryForList(sql);方法将查询到的信息罗列出来,并进行返回到主页的操作。
注意:这里的select * from ***mentlikes是根据你的数据库里面的表名进行查询的,在页面里只有罗列,没有固定格式,在做大型数据项目时,就可以在需要查询的项目里编写这样的方法,这也是底层查询逻辑。
(2)至此编写结束,启动项目
成功启动
访问localhost:8080/list
我们的库表信息已成功显示。
总结
本次文章主要是对springboot的项目进行MySQL的整合,可以进行简单的练习,在拿到成品的HTML网页时,只需要把查询到的语句返回到指定的接口中,查询任务就完成。
感谢大家看到这里,期待您的点赞和关注。