(5)spring boot下 spring Data JPA的使用
来源:互联网 发布:编程兼职网站有哪些 编辑:程序博客网 时间:2024/04/30 19:18
spring boot下 spring Data JPA的使用步骤:
spring boot中的spring Data JPA步骤:
1) pom.xml文件中引入mysql-connector-java,spring-boot-starter-data-jpa依赖
2) 在application.properties文件中配置数据库和jpa配置
3) 创建一个实体类,比如Cat
4) 创建一个接口继承于CrudRepository,这个地方于集成于Hibernate与数据库进行交互
5) 创建一个service
6) 创建一个controller
7) 启动服务,进行测试(运行启动类)
******eg******:
项目实例结构:
1). 在pom.xml文件中添加mysql-connector-java,spring-boot-starter-data-jpa依赖
<!-- 添加MySQL数据库驱动依赖 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- 添加spring-data-jpa依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency>2) 在application.properties文件中配置数据库和jpa配置
# spring boot绑定默认端口为8080,这里修改为9000server.port=9000###################################################datasource --指定MySQL数据库连接信息#############################################spring.datasource.url = jdbc:mysql://192.168.200.222:3306/dongxihui_webspring.datasource.username = rootspring.datasource.password = 123456spring.datasource.driverClassName = com.mysql.jdbc.Driverspring.datasource.max-active = 20spring.datasource.max-idle = 8spring.datasource.min-idle = 8spring.datasource.initial-size = 10###################################################Java Persistence Api -- Spring jpa 的配置信息############################################## 指定数据库管理系统spring.jpa.database = MYSQL# 是否打印sql到控制台spring.jpa.show-sql = true# Hibernate ddl autospring.jpa.hibernate.ddl-auto = update# 指定命名策略#[org.hibernate.cfg.ImprovedNamingStrategy #org.hibernate.cfg.Default]spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy# 指定hibernate方言spring.jpa.propeties.hibernate.dialect = org.hibernate.dialect.MYSQL3) 创建一个实体类,比如Cat
package com.lanhuigu.demo.bean;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;/** * 创建一个实体 * * 1、如何持久化? * 使用@Entity注解进行实体类的持久化操作,当JPA检测到我们的实体类有 * @Entity注解的时候,会在数据库表中生成对应的表结构信息。 * * 2、如何指定主键以及主键的生成策略? * 使用@Id指定主键 */@Entitypublic class Cat {/** * 主键: * 使用@Id指定主键。 * * 生成策略: * 使用代码@GeneratedValue(strategy=GenerationType.AUTO) * 指定主键的生成策略,MySQL默认为自增长。 */@Id @GeneratedValue(strategy=GenerationType.AUTO)private int id;// 主键private String catName;// 姓名,默认生成字段名cat_nameprivate int catAge;// 年龄,默认生成字段名cat_agepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getCatName() {return catName;}public void setCatName(String catName) {this.catName = catName;}public int getCatAge() {return catAge;}public void setCatAge(int catAge) {this.catAge = catAge;}}4) 创建一个接口继承于CrudRepository,这个地方于集成于Hibernate与数据库进行交互
package com.lanhuigu.demo.repository;import org.springframework.data.repository.CrudRepository;import com.lanhuigu.demo.bean.Cat;public interface CatRepository extends CrudRepository<Cat, Integer>{}5) 创建一个service
package com.lanhuigu.demo.service;import javax.annotation.Resource;import javax.transaction.Transactional;import org.springframework.stereotype.Service;import com.lanhuigu.demo.bean.Cat;import com.lanhuigu.demo.repository.CatRepository;@Servicepublic class CatService {@Resourceprivate CatRepository catRepository;/** * save,update,delete方法需要绑定事务。 * 使用@Transactional进行事务绑定。 * */// 保存数据@Transactionalpublic void save(Cat cat) {catRepository.save(cat);}// 删除数据@Transactionalpublic void delete(int id) {catRepository.delete(id);}// 查询数据public Iterable<Cat> getAll() {return catRepository.findAll();}}6) 创建一个controller
package com.lanhuigu.demo.controller;import javax.annotation.Resource;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import com.lanhuigu.demo.bean.Cat;import com.lanhuigu.demo.service.CatService;@RestController@RequestMapping("/cat")public class CatController {@Resourceprivate CatService catService;/** * 保存数据 * @return */@RequestMapping("/save")public String save() {Cat cat = new Cat();//cat.setId(1); // 通过MySQL主键自增长策略生成cat.setCatName("hello kitty");cat.setCatAge(26);catService.save(cat);return "save ok";}/** * 删除数据 */@RequestMapping("/delete")public String delete() {catService.delete(1);return "delete ok";}/** * 查询数据 */@RequestMapping("/getAll")public Iterable<Cat> getAll() {return catService.getAll();}}7) 启动服务,进行测试(运行启动类)
package com.lanhuigu;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * Hello world! * 启动类 */@SpringBootApplicationpublic class App { public static void main( String[] args ) { /*System.out.println( "Hello World!" );*/ SpringApplication.run(App.class, args); }}
当服务启动时,可以看到数据库中多了一张cat表,表的ddl语句:
CREATE TABLE `cat` ( `id` int(11) NOT NULL AUTO_INCREMENT, `cat_age` int(11) NOT NULL, `cat_name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
访问服务,注意端口号,默认为8080:
http://localhost:9000/cat/save (保存数据)
http://localhost:9000/cat/getAll (查询数据)
http://localhost:9000/cat/delete (删除数据)
0 0
- (5)spring boot下 spring Data JPA的使用
- Spring Boot下的Spring Data JPA实战详解
- Spring Boot中使用Spring-data-jpa
- spring boot 使用spring data jpa
- spring boot 使用 spring data jpa
- Spring Boot中使用Spring-data-jpa
- spring boot中使用spring-data-jpa
- Spring Boot中使用Spring-data-jpa
- Spring Boot中使用Spring-data-jpa
- spring boot(五):spring data jpa的使用
- spring boot(五):spring data jpa的使用
- spring boot(五):spring data jpa的使用
- Spring Boot系列(五):spring data jpa的使用
- spring boot(五):spring data jpa的使用
- spring boot(五):spring data jpa的使用
- spring boot(五):spring data jpa的使用
- 转载:Spring Boot (五):spring data jpa的使用
- spring-boot-data-jpa
- var fd = new FormData();传不了数据解决方案
- Java多线程编程(四)—浅谈synchronized与lock
- JS设置cookie、读取cookie
- 彻底删除wine
- mysql计算某一天所在周或月的第一天和最后一天
- (5)spring boot下 spring Data JPA的使用
- mysql 修改密码
- 图论:最短路径
- loadding弹框
- 广播的动态注册和静态注册以及系统广播的使用!
- jQuery 动态创建右键菜单并修改鼠标右击元素的值( 解决 依次右击多个元素后,修改值的时候多个元素的值皆被修改的bug)
- FL Studio中工具菜单怎么用
- 安卓自定义View教程目录
- eclipse生成的java项目中.settings的介绍