Spring boot 四 JPA Hibernate

来源:互联网 发布:不用网络的麻将游戏 编辑:程序博客网 时间:2024/06/15 16:22

JPA : 数据库持久化规范 (也是 关系映射设计的规范)
hibernate : 实现了 JPA 的框架。
spring-boot-jpa:在原有 hibernate 框架的基础上在做继续包装,简化。

下面是 spring-boot-jpa 的使用方式。、

1、在pom.xml 中添加 依赖包:
2、编写 application.properties
3、创建 实体映射对象
4、创建 对象 Repository 接口
5、创建 对象服务
6、创建 对象 Controller

1、在pom.xml 中添加 依赖包:

        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-data-jpa</artifactId>        </dependency>        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>        </dependency>

2、在 src/main/resouces 下创建 :
application.properties

#server.port=8080# 数据库访问配置# 主数据源,默认的spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username= rootspring.datasource.password= rootspring.datasource.driverClassName = com.mysql.jdbc.Driver#指定数据库spring.jpa.database=mysql# 是否显示sql语句spring.jpa.show-sql=true# hibernate ddl auto (create create-drop update)spring.jpa.hibernate.ddl-auto=update# 选择自己的 命名策略 ImprovedNamingStrategy  (比如 orderItem >> order_item)spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy

3、创建 实体对象

@Entitypublic class Person {    @Id    @GeneratedValue(strategy = GenerationType.AUTO)    private int id;    @Column(name = "userName")    private String name;    private String orderItem;    。。。get set 。。。}

4、创建接口 PersonRepository 继承 CrudRepository

/*这里第一个泛型  Person 代表使用对象    Integer 代表 id类型*/public interface PersonRepository extends CrudRepository<Person, Integer> {}

5、创建 PersonService 注入 PersonRepository 类

@Servicepublic class PersonService {    @Resource    private PersonRepository mPersonReposity;    @Transactional//加入事物管理    public void save(Person p){        mPersonReposity.save(p);    }    @Transactional    public void delete(int id){        mPersonReposity.delete(id);    }    public Iterable<Person> getAll(){       return mPersonReposity.findAll();    }}

6、创建 对象 Controller

@RestController@RequestMapping("/person")public class PersonController {    @Resource    public PersonService mPersonService;    @RequestMapping("/save")    public String save(){        Person p = new Person();        p.setName("zhang ");        p.setOrderItem("1");        mPersonService.save(p);        return "save OK";    }    @RequestMapping("/delete")    public String delete(){        mPersonService.delete(1);        return "delete Ok";    }    @RequestMapping("/getAll")    public Iterable<Person> getAll(){        return mPersonService.getAll();    }}

测试:
127.0.0.1:8080/person/save 保存
127.0.0.1:8080/person/getAll 查询
127.0.0.1:8080/person/delete 删除

原创粉丝点击