目录准备工作
1、配置好JDK
2、IntelliJ编辑器
1、用IDEA新建spring boot项目
1、Developer Tools(必选)
-Spring Boot DevTools
-Lombok
2、Web (必选)
-Spring Web
-Spring Web Services
3、Template Engines(可选,后期可在prom.xml文件中添加此依赖)
-Thymeleaf
2、若编写Rest Api
则写入如下代码后,运行,直接访问http://localhost:8080/abc 即可
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoApplication {
@RequestMapping("abc")
public static String abc(){
return "abc";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
3、若访问html,则需要以下配置
1、在resources/templates里面放置 html文件
2、在resources/static里面放置 css image js 等静态资源
3、在控制中写入如下代码
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class DemoApplication {
@GetMapping("def")
public String he(){
return "def";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
注:可以在application.properties配置项目
spring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
4、连接数据库
4.1、引入依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
4.2、配置数据库(application.properties/application.yml)
此处有两种方法,任选其一即可
4.2.1、application.properties
此处注意,新版本的spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver(老版本com.mysql.jdbc.Driver已弃用)
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/jianshu?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
spring.datasource.username = root123
spring.datasource.password = root123
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
4.2.2、application.yml
此处注意,新版本的com.mysql.cj.jdbc.Driver(老版本 com.mysql.jdbc.Driver已弃用)
spring:
datasource:
username: root123
password: root123
url: jdbc:mysql://localhost:3306/jianshu
driver-class-name: com.mysql.jdbc.Driver
4.3、打印数据
此处直接打印,快速测试用
import org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.List;
import java.util.Map;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(DemoApplication.class, args);
JdbcTemplate jdbcTemplate = context.getBean(JdbcTemplate.class);
List<Map<String, Object>> result = jdbcTemplate.queryForList("select * from students");
System.out.println(result);
}
}
4.4、增删改查CRUD
此处使用4个接口进行操作
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.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
@RestController
public class JDBCController {
@Autowired
JdbcTemplate jdbcTemplate;
@GetMapping("/userList")
public List<Map<String, Object>> userList(){
String sql = "select * from students";
List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
return maps;
}
@GetMapping("/addUser")
public String addUser(){
String sql = "insert into students (name) values ('aa')";
jdbcTemplate.update(sql);
return 'add successfully, the sql is ' + sql;
}
@GetMapping("/updateUser/{id}")
public String updateUser(@PathVariable("id") int id){
String sql = "update students set name = ?,tel = ? where id = " + id;
Object[] objects = new Object[2];
objects[0] = "wang";
objects[1] = "13588888888";
jdbcTemplate.update(sql, objects);
return 'update successfully, the sql is ' + sql;
}
@GetMapping("/deleteUser/{id}")
public int deleteUser(@PathVariable("id") int id){
String sql = "delete from students where id = ?";
jdbcTemplate.update(sql, id);
return 'delete successfully, the sql is ' + sql;
}
}