SpringBoot整合SpringData JPA

1、SpringData简介

 2、整合SpringData

引入依赖

   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.6.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <!-- springBoot JPA的起步依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <!--mysql依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
       
    </dependencies>

 

配置文件application.properties

可以参考JpaProperties

#DB Configuration:
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/study?
useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
#JPA Configuration:
spring.jpa.database=MySQL
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy
#自动建立表
spring.jpa.properties.hibernate.hbm2ddl.auto=update
## 自动扫描的包前缀
entitymanager.packagesToScan= com.yehui

编写一个实体类(bean)和数据表进行映射,并且配置好映射关系

//使用JPA注解配置映射关系
@Table(name="tb_user")//告诉JPA这是一个实体类(和数据表映射的类)
@Entity//@Table来指定和哪个数据表对应;如果省略默认表名就是user;
public class User {
    @Id//这是一个主键
    @GeneratedValue(strategy = GenerationType.IDENTITY)////自增主键
    private Integer id;
    @Column(name = "username")////这是和数据表对应的一个列
    private String username;
    private int age;
    private Date ctm;

    public Integer getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getAge() {
        return age;
    }

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

    public Date getCtm() {
        return ctm;
    }

    public void setCtm(Date ctm) {
        this.ctm = ctm;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", age=" + age +
                ", ctm=" + ctm +
                '}';
    }
}

 

编写一个Dao接口来操作实体类对应的数据表(Repository)

public interface UserRepository extends Repository<User,Integer> {
    public List<User> findAll();
}

 

测试类

@RunWith(SpringRunner.class)
@SpringBootTest
public class JpaTest {

    @Autowired
    private UserRepository userRepository;
    @Test
    public void test01(){
        List<User> all = userRepository.findAll();
        System.out.println(all);
    }
}

 

posted @ 2019-03-31 21:57  吊儿郎当小少年  阅读(403)  评论(0编辑  收藏  举报