提示:本文适用于初学者,资深玩家仁者见仁智者见智
文章目录
- 前言
- 一、spring boot的helloworld
- (1)·有同学可能要问不是链接MySQL吗?不用把MySQL功能也选上吗???
- (2)此时同学们要问,@GetMapping这个方法是怎么写的,内在逻辑是什么?
- 二、spring boot整合jdbc,实现MySQL的查询和显示
- (1)有两种创建配置文件的方法,要用哪一种呢?
- (2)至此编写结束,启动项目
- 总结
前言
在家闲来无事,想起最基础的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;@RestControllerclass 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>com.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=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/blog" />.datasource.username=rootspring.datasource.password=123456
这个文件前面都带有spring.datasource的前缀并且管理起来也不方便
所以另外一种创建配置类的方法是,创建一个application.yml的yml文件,使得结构清晰,方便管理
并且yml文件的书写方法方便快捷,如下
spring:datasource:url: jdbc:mysql://localhost:3306/blog? useUnicode=true&characterEncoding=utf8username: rootpassword: 123456driver-class-name: com.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,就命名为jdbcController,创建方法和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;@RestControllerpublic class jdbcController {@AutowiredJdbcTemplate jdbcTemplate;//写一个list请求,查询数据库信息@GetMapping("/list")public List<Map<String,Object>> list(){String sql="select * from commentlikes";List<Map<String,Object>> list_map=jdbcTemplate.queryForList(sql);return list_map;}}
有一个 @Autowired的注解,这里也是自动注入的注解,还有一条我们熟悉的 @GetMapping注解,list里面包含了一条sql语句,具体语句是写在双引号里面并进行赋值的,使用List<Map> list_map=jdbcTemplate.queryForList(sql);方法将查询到的信息罗列出来,并进行返回到主页的操作。
注意:这里的select * from commentlikes是根据你的数据库里面的表名进行查询的,在页面里只有罗列,没有固定格式,在做大型数据项目时,就可以在需要查询的项目里编写这样的方法,这也是底层查询逻辑。
(2)至此编写结束,启动项目
成功启动
访问localhost:8080/list
我们的库表信息已成功显示。
总结
本次文章主要是对springboot的项目进行MySQL的整合,可以进行简单的练习,在拿到成品的HTML网页时,只需要把查询到的语句返回到指定的接口中,查询任务就完成。
感谢大家看到这里,期待您的点赞和关注。