代码改变世界

SpringBoot +Spring Data Jpa

2018-06-19 17:33  那么像你  阅读(45)  评论(0)    收藏  举报

1.新建springboot项目,参考 Idea 新建springboot项目

2.在pom.xml中新增依赖库

 <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.30</version>
    </dependency>

3.配置连接数据库, 在application.properties,一定要注意这个文件中不要出现多余的空格

#Mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://172.21.100.111:3306/mange?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=eg
spring.datasource.password=123456ABcd.6

#Spring Data JPA
spring.jpa.database=MYSQL
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=none
# Naming strategy
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

4.新增实体类

package com.exmple.Entity;



import javax.persistence.*;
import javax.print.attribute.standard.MediaSize;

@Entity     //用于指定标示实体类
@Table( name = "emp")   //数据库中表的名字,如果和类名一致则可不指定
public class Emp {
    public long getId() {
        return employee_id;
    }

    public void setId(long id) {
        this.employee_id = id;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @javax.persistence.Id                       //标记主键
    @GeneratedValue(strategy = GenerationType.AUTO ) // 主键增长方式为自增长
    private long employee_id;;


    @Column(name = "aga")
    private Integer  age;

    @Column(name="employee_ename")
    private String name;

    @Column(name = "employee_status")
    private String status;

    private String sex;
}

5.新增Repository,数据连接层

package com.exmple.Repository;

import com.exmple.Entity.Emp;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository   //标示依赖 
//接口依赖JpaRepository
public interface EmpRepository  extends JpaRepository<Emp,Long> {

}

6.新增Service.业务逻辑层

package com.exmple.service;

import com.exmple.Entity.Emp;
import com.exmple.Repository.EmpRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class EmpService {

    @Autowired     //自动注入数据连接层
    private EmpRepository empRepository;
    public List<Emp> getEmps()
    {
        return empRepository.findAll();
    }
}

7.在Controller中,可以操作数据库

package com.exmple.controller;

import com.exmple.Entity.Emp;
import com.exmple.service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/emp")
public class EmpController {

    @Autowired
    private EmpService empService;

    @RequestMapping("/list")
    public List<Emp> getall()
    {
        return empService.getEmps();
    }

    public Emp getEmpByName(){
        return  null;
    }

}

 

以上直接利用 JpaRepository中的方法,下一篇文章会讲解 spring data jpa 操作数据库的几种方法