SpringBoot框架为使用SQL数据库提供了广泛的支持,从使用JdbcTemplate的直接JDBC访问到完整的“对象关系映射”技术(如Hibernate)。Spring-data-jpa提供了额外的功能级别:直接从接口创建存储库实现,并使用约定方法名生成查询。
建表:
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, `address` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ); INSERT INTO `user` VALUES ('3', 'andy', '6', 'month'); INSERT INTO `user` VALUES ('4', 'andy', '7', 'month'); INSERT INTO `user` VALUES ('5', 'andy', '8', 'month'); INSERT INTO `user` VALUES ('6', 'jack', '3', 'aaa'); CREATE TABLE `student` ( `id` int(11) NOT NULL, `age` int(11) NOT NULL, `grade` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ); INSERT INTO `student` VALUES ('1', '2', '3', 'jack'); INSERT INTO `student` VALUES ('2', '4', '2', 'andy');
二、JdbcTemplate
在需要使用持久层的类中直接注入JdbcTemplate,在基本的SpringBoot配置(SpringBoot-HelloWorld)下增加配置数据库连接驱动器:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
配置jdbc的依赖库:
<!-- jdbcTemplate -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
在application.properties默认属性文件中增加数据库连接信息:
spring.datasource.url=jdbc:mysql://192.168.1.121:3306/test spring.datasource.username=root spring.datasource.password=admincss spring.datasource.driver-class-name=com.mysql.jdbc.Driver
创建实体类user:
package com.cn.entity; import java.io.Serializable; /** * @program: spring-boot-example * @description: 用户类 * @author: * @create: 2018-05-02 09:59 **/ public class User implements Serializable{ private int id; private String name; private int age; private String address; @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + ", address='" + address + '\'' + '}'; } 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 int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }