新建Spring boot项目

搭建Spring Boot 项目,依赖选择JPA(spring-boot-starter-data-jpa)和Web(spring-boot-starter-web)

Maven中心库没有Oracle JDBC的驱动下载,因此我们需要通过Maven命令,自己打包Oracle的JDBC驱动到本地库。

通过在控制台执行下面命令,将ojdbc6.jar安装到本地库:

mvn install:install-file -DgroupId=com.oracle "-DartifactId=ojdbc6"

"-Dversion=11.2.0.2.0" "-Dpackaging=jar" "-Dfile=E:\ojdbc6.jar"

在pom.xml文件中添加:

<dependency>

<groupId>com.oracle</groupId>

<artifactId>ojdbc6</artifactId>

<version>11.2.0.2.0</version>

</dependency>

添加google guava依赖,它包含大量java常用的工具类:

<dependency>

<groupId>com.google.guava</groupId>

<artifactId>guava</artifactId>

<version>18.0</version>

</dependency>


配置基本属性

在application.properties里配置数据源和jpa的相关属性。

spring.datasource.driverClassName=orcale.jdbc.oracleDriver

spring.datasource.url=jdbc\:oracle\:thin\:@localhost\:1521\:数据库名

spring.datasource.username=root

spring.datasource.password=root

spring.jpa.hibernate.ddl-auto=update

spring.jpa.show-sql=true

spring.jackson.serialization.indent-output=true//让控制台输出的json字符串格式更美观

定义映射实体类

@Entity//表示这是一个和数据库表映射的实体类

@NamedQuery(name="Person.withNameAndAddressNamedQuery",query="select p from Person p where p.name=?1 and address=?2")

public class Person{

@Id//表示属性映射为数据库的主键

@GeneratedValue//默认使用主键生成方式为自增

private Long id;

private String name;

private Integer age;

private String address;

}

使用@Entity采用正向工程通过实体类生成表结构,而不是通过逆向工程从表结构生成数据库(@Table(实体类映射表名),@Column(属性映射字段名))。

定义数据访问接口

public interface PersonRepository extends JpaRepository<Person,Long>{

List<Person> findByAddress(String address);

List<Person> findByNameAndAddress(String name,String address);

//使用@Query查询

@Query("select p from Person p where p.name=:name and p.address=:address")

Person withNameAndAddressQuery(@Param("name") String name,@Param("address") String address);

//使用@NameQuery查询

List<Person> withNameAndAddressNameQuery(String name,String address);

}

运行:将PersonRepository注入到控制器中。

@RestController

public class DataController{

//spring Data JPA已自动注册bean,所有可自动注入

@Autowired

PersonRepository personRepository;

//添加方法

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值