跟着问题学习Spring Data Jpa----Spring Data Jpa配置
工具:eclipse,Maven这里提到的内容是在Spring Boot为框架的基础上进行的。首先建立一个Maven -webapp工程,引入Spring Boot相关的依赖。在application.properties中配置数据库的jpa的属性:#数据源的配置是spring boot项目中配置的默认方式spring.datasource.url = jdbc:my
·
工具:eclipse,Maven
这里提到的内容是在Spring Boot为框架的基础上进行的。
首先建立一个Maven -webapp工程,在pom.xml文件中引入Spring Boot和Spring Data Jpa相关的依赖:
<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>
引入Mysql驱动依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
在application.properties中配置数据库的jpa的属性:
#数据源的配置是spring boot项目中配置的默认方式
spring.datasource.url = jdbc:mysql://localhost:6033/test
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
#jpa属性配置
spring.jpa.database = MYSQL
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = none
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
配置完成后就只需要创建一个Spring Boot启动类,再建立一个实体类和一个调用接口:
Spring Boot启动类:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
实体类(添加@Entity注解):
@Entity
public class MonMule {
@Id
private String id;
private String name;
private double price;
private String remark;
private String eatWays;
private String picDirection;
// 省略getter和setter方法
}
事务接口(一般是继承JpaRepository接口,添加@Transactional注解):
@Transactional
public interface MonMuleRepository extends JpaRepository<MonMule, String> {
}
接口里面的内容可以为空,注意这里的
JpaRepository<MonMule, String>,参数有两个,一个是实体类名称,用于映射实体,第二个参数String表示MonMule类的主键字段类型,这里可以看到我设置MonMule类的主键ID为String类型(对应MYSQL数据库的Varchar类型)。
那这样怎么实现增删查改呢?我写了一个测试用例:
使用Junit单元测试框架,在pom.xml中引入测试依赖:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
新建测试用例:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {Application.class})
public class TestRepository {
@Autowired
private MonMuleRepository repository;
@Test
public void testApplication() {
// 查找所有,相等于执行select * from monmule
List<MonMule> monmules = repository.findAll();
// 删除ID(主键)为1的monmule对象
repository.delete("1");
// 保存monmule对象,如果查看ID已经存在,则更新该条数据
repository.save(new MonMule());
}
}
这里只是一小部分常用的方法,如果想要更详细的使用,可以查看接口里面的方法内容。
更多推荐
已为社区贡献1条内容
所有评论(0)