Spring boot 四 JPA Hibernate

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/test
spring.datasource.username= root
spring.datasource.password= root
spring.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、创建 实体对象

@Entity
public 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 类

@Service
public 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 删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值