通过一段时间的学习,想找一个项目练练手,于是乎就想到了个人博客系统,所以想通过csdn,以博客的形式记录一下开发过程,如有哪里不对,还望大佬以留言或邮箱方式指正,邮箱地址 [email protected]
1.引入themeleaf相关
通过pom.xml文件添加以下内容:
<!--引入themeleaf相关-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- 关闭thymeleft强校验 -->
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.22</version>
</dependency>
2.本系统采用的数据库为MySQL
引入以下
<!--MySQL-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
3.持久层框架使用为mybatis
引入以下
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
4.数据库连接池使用了albaba的druid数据库连接池
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency>
1.测试thymeleaf
新建index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
hello,thymeleaf!
</body>
</html>
项目中新建controller包,编写helloController类
package com.lyp.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @ClassName helloController
* @Author 你鹏哥
* @Date 2020/1/14 19:59
**/
@Controller
@RequestMapping("/hello")
public class helloController {
@GetMapping("/thylemeaf")
public String hello(){
return "index";
}
}
接着在application.properties文件中配置好端口号数据源
server.port=8888
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5
启动项目,在浏览器中输入http://localhost:8888/hello/thylemeaf地址看到以下内容
至此,thymeleaf配置成功
2.测试数据库连接及mybatis
新建model包,用来存放实体类,并编写User.java实体类
// User.java
package com.lyp.model;
/**
* @ClassName User
* @Author 你鹏哥
* @Date 2020/1/14 20:35
**/
public class User {
int id;
String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User(int id, String name) {
this.id = id;
this.name = name;
}
}
新建service包,为业务层,编写TestService业务接口
// TsetService.java
package com.lyp.service;
import com.lyp.model.User;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @ClassName TestService
* @Author 你鹏哥
* @Date 2020/1/14 20:37
**/
@Service
public interface TestService {
List<User> selectAll();
}
在TestServiceImpl.java简单实现一下
// TestServiceImpl.java
package com.lyp.service.impl;
import com.lyp.dao.TestMapper;
import com.lyp.model.User;
import com.lyp.service.TestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @ClassName TestServiceImpl
* @Author 你鹏哥
* @Date 2020/1/14 20:44
**/
@Service
public class TestServiceImpl implements TestService {
@Autowired
private TestMapper testMapper;
@Override
public List<User> selectAll() {
return testMapper.selectAll();
}
}
接下来为数据持久层dao层,编写TestMapper.java接口
// TestMapper.java
package com.lyp.dao;
import com.lyp.model.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @ClassName TestMapper
* @Author 你鹏哥
* @Date 2020/1/14 20:38
**/
public interface TestMapper {
@Select("select * from user")
List<User> selectAll();
}
最后在我们的controller层中调用业务层,调用数据持久层查询出数据,以json数据格式返回到页面中进行显示再次访问http://localhost:8888/hello/thylemeaf可以看到数据库中数据为
数据库中数据为
自此,数据库连接及mybatis测试完成,基本环境已搭建完成,将进行下一步开发