一、maven 打包ojdbc驱动到本地仓库
mvn install:install-file -DgroupId=com.oracle "-DartifactId=ojdbc6" "-Dversion=11.2.0.2" "-Dpackaging=jar" "-Dfile=C:\Users\QINP\Downloads\ojdbc6.jar"
二、定义数据访问层
public interface PersonRepository extends JpaRepository<Person,Long>{
List<Person> findAll();
}
三、配置使用Spring Data JPA
使用注解@EnableJpaRepositories开启
四、定义查询方法
1、继承JpaRepository
findByNameAndAddress(String name,String address);
findByStartDateBetween(Date beginDate,Date endDate);
findByNameStartWith
findByNameEndWith
findByNameContaining
2、使用JPA的@NamedQuery
@Entity
@NamedQuery(name="",query="")
3、使用JPA的@Query
1>使用参数索引
@Query("select p from Person p where p.name = ?1")
public Person findPersonByName(String name);
2>使用命名参数
@Query("select p from Person p where p.name = :name")
public Person findPersonByName(@Param("name")String name);
3>更新查询,使用@Modifying 和 @Query进行组合
@Modifying
@Transactional
@Query("update Person p set p.name = ?1")
int setName(String name);
五、排序与分页
1、使用排序
findAll(new Sort(Direction.ASC,"age"));
2、使用分页
findAll(new PageRequest(1,2));
六、Mysql配置
spring.datasource.url=jdbc:mysql://192.168.1.118:3306/test?characterEncoding=utf8&useSSL=false spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.max-idle=10 spring.datasource.max-wait=10000 spring.datasource.min-idle=5 spring.datasource.initial-size=5 spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jackson.serialization.indent-output=true
maven:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>