一、springboot整合JdbcTemplate
1、目录结构
2、建立一个maven工程,在pom.xml中加入starter.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.arolusway</groupId>
<artifactId>SpringBoot-database</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
</parent>
<dependencies>
<!-- springboot集成jdbc -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- springboot集成web项目 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 数据库连接 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
</dependencies>
</project>
2、启动类,程序入口:DatabaseApp.java
package com.aeolusway;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DatabaseApp {
public static void main(String[] args) {
SpringApplication.run(DatabaseApp.class, args);
}
}
3、UserController.java
package com.aeolusway.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.aeolusway.services.UserService;
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/addUser")
public String addUser(String username,Integer age){
userService.addUser(username, age);
return "姓名:"+username+"年龄:"+age;
}
}
4、UserService.java
package com.aeolusway.services;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private JdbcTemplate jdbcTemplate;
public void addUser(String username,Integer age){
System.out.println("插入一条数据");
jdbcTemplate.update("insert into newuser values(null,?,?)",username,age);
}
}
5、application.properties
# 数据库连接属性
spring.datasource.url=jdbc:mysql://localhost:3306/hibernate
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 还可以配置tomcat的端口、地址等属性
5、请求地址
http://127.0.0.1:8080/addUser?username=cat&age=20
二、springboot整合jpa
什么是jpa?
Java Persistence API:用于对象持久化的 API,与jdbc一样,jpa统一了java应用程序访问ORM框架的规范,hibernate是jpa的实现。
与整合jdbc区别不大,只是在连接数据库的类选择上有所不同,因此在pom文件引入上也有区别,比较:
jdbc:
pom.xml ——>spring-boot-starter-jdbc
连接数据库注入的是——>JdbcTemplate
jpa:
pom.xml ——>spring-boot-starter-data-jpa
连接数据库注入的是——>继承了jpaRepository接口的接口UserDAO
1、目录结构
2、pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.aeolusway</groupId>
<artifactId>SpringBoot-jpa</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
</dependencies>
</project>
3、JpaApp.java
package com.aeolusway;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class JpaApp {
public static void main(String[] args) {
SpringApplication.run(JpaApp.class, args);
}
}
4、UserController.java
package com.aeolusway.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.aeolusway.Dao.UserDAO;
import com.aeolusway.model.User;
@RestController
public class UserController {
@Autowired
private UserDAO userDAO;
@RequestMapping("/findUser")
public String findUser(){
List<User> list = userDAO.findAll();
return list.toString();
}
}
5、UserDAO.java
package com.aeolusway.Dao;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Component;
import com.aeolusway.model.User;
public interface UserDAO extends JpaRepository<User, String>{
}
6、User.java
package com.aeolusway.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity(name="newuser")
public class User {
@Id
@GeneratedValue
private Integer id;
private String username;
private Integer age;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User [username=" + username + ", age=" + age + "]";
}
}
7、application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/hibernate
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
8、请求地址
http://127.0.0.1:8080/findUser