JdbcTemplate
(1)引入JdbcTemplate相关的jar包依赖
1 | <dependency> |
(2)定义数据源DataSource,在application.properties中添加如下配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/sbdemo
spring.datasource.username=sbdemo
spring.datasource.password=sbdemo
(3)定义与数据库表对应的POJO实体类
1 | public class Student { |
(4)编写Dao层类
1 |
|
(5)在service业务逻辑层直接注入Dao层类,并使用Dao层类的方法。
Spring Data JPA
使用Spring Data JPA子项目来访问关系型数据库,需要引入spring-boot-starter-data-jpa依赖,该依赖会引入如下核心JAR包:
Hibernate
Spring Data JPA
Spring ORMs
所以说,在SpringBoot项目中使用Spring Data JPA,使用到的JPA ORM框架默认是Hibernate。
(1)引入Spring Data JPA相关的jar包依赖
1 | <dependency> |
(2)定义数据源DataSource,在application.properties中添加如下配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/sbdemo
spring.datasource.username=sbdemo
spring.datasource.password=sbdemo
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show_sql=true
(3)依据JPA的规范定义Entity类
1 | import javax.persistence.Entity; |
(4)编写Repository层接口
1 | public interface StudentRepository extends JpaRepository<Student, Integer> { |
备注:Repository层只需要定义一个继承自Repository/JpaRepository/CrudRepository相关接口的接口即可,该接口中不需要声明任何方法,除非你有特殊的数据库操作,在默认的Repository/JpaRepository/CrudRepository接口中不支持。另外,如果有非常复杂的数据库操作,那么可以在Repository层接口类中声明一个方法,且在该方法上使用@Query注解,该@Query注解的参数就是需要操作的SQL语句。使用@Query注解的代码举例如下:
1 | "FROM IpInfo i " + ( |
(5)在service业务逻辑层直接注入Repository层接口作为Bean,并调用其中的方法来实现数据库的操作。