好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

SpringBoot JPA实现查询多值

jpa是java persistence api简称,中文名:java持久层api,jpa是jcp组织发布的j2ee标准之一

1.创建datasource连接池对象

?

1

2

3

4

5

6

7

8

9

10

<dependency>

       <groupid>org.springframework.boot</groupid>

       <artifactid>spring-boot-starter-jdbc</artifactid>

     </dependency>

     <!-- 数据库驱动 -->

     <dependency>

       <groupid>com.oracle</groupid>

       <artifactid>ojdbc6</artifactid>

       <version> 11.2 . 0.3 </version>

     </dependency>

2.在pom.xml中定义spring-boot-starter-data-jpa

?

1

2

3

4

5

<!-- 定义spring-boot-starter-data-jpa -->

      <dependency>

         <groupid>org.springframework.boot</groupid>

         <artifactid>spring-boot-starter-data-jpa</artifactid>

   </dependency>

3.根据数据库表定义实体类

 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

package cn.xdl.entity;

 

import java.io.serializable;

 

import javax.persistence.column;

import javax.persistence.entity;

import javax.persistence.id;

import javax.persistence.table;

 

@entity

@table (name= "emp" ) //通常和@entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息

public class emp implements serializable{

   /**

    *

    */

   private static final long serialversionuid = 1l;

   @id //定义了映射到数据库表的主键的属性,一个实体只能有一个属性被映射为主键置于getxxxx()前

   @column (name= "empno" ) //name表示表的名称默认地,表名和实体名称一致,只有在不一致的情况下才需要指定表名

   private integer empno;

   @column (name= "ename" )

   private string ename;

   @column (name= "job" )

   private string job;

   @column (name= "mgr" )

   private int mgr;

   public integer getempno() {

     return empno;

   }

   public void setempno(integer empno) {

     this .empno = empno;

   }

   public string getename() {

     return ename;

   }

   public void setename(string ename) {

     this .ename = ename;

   }

   public string getjob() {

     return job;

   }

   public void setjob(string job) {

     this .job = job;

   }

   public int getmgr() {

     return mgr;

   }

   public void setmgr( int mgr) {

     this .mgr = mgr;

   }

   @override

   public string tostring() {

     return "emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", mgr=" + mgr + "]" ;

   }

}

4.定义dao接口,继承jpa功能接口

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

package cn.xdl.jpa;

 

import org.springframework.data.jpa.repository.jparepository;

 

import cn.xdl.entity.emp;

//jparepository:jpa资源库

/**

  * 1.所有继承该接口的都被spring所管理,改接口作为标识接口,功能就是用来控制domain模型的

  * 2.spring data可以让我们只定义接口,只要遵循spring data的规范,无需写实现类。

  *

  */

public interface empdao extends jparepository<emp, integer>{

 

}

5.获取dao接口对象操作数据库

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

@springbootapplication

public class mybootapplication {

   public static void main(string[] args) throws sqlexception {

     applicationcontext ioc = springapplication.run(mybootapplication. class , args);

     // 自动配置创建datasource,id名为datasource

     datasource ds = ioc.getbean( "datasource" , datasource. class );

     system.out.println(ds);

     system.out.println( "=================" );

     system.out.println( "=================" );

     system.out.println( "=================" );

     empdao empdao = ioc.getbean( "empdao" , empdao. class );

     /**

      * 遍历

      */

     list<emp> empdatas = empdao.findall();

     for (emp emp : empdatas) {

       system.out.println(emp);

     }

   }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://www.cnblogs.com/resultset/archive/2018/08/28/9551593.html

查看更多关于SpringBoot JPA实现查询多值的详细内容...

  阅读:39次