SpringBoot JPA(实现查询多值)
程序员文章站
2022-05-04 14:09:52
JPA是java Persistence API简称,中文名:java持久层API,JPA是JCP组织发布的J2EE标准之一 1.创建DataSource连接池对象 1 2 org.springframework.boot 3
view code
view code
view code
view code
view code
jpa是java persistence api简称,中文名:java持久层api,jpa是jcp组织发布的j2ee标准之一
1.创建datasource连接池对象
1 <dependency> 2 <groupid>org.springframework.boot</groupid> 3 <artifactid>spring-boot-starter-jdbc</artifactid> 4 </dependency> 5 <!-- 数据库驱动 --> 6 <dependency> 7 <groupid>com.oracle</groupid> 8 <artifactid>ojdbc6</artifactid> 9 <version>11.2.0.3</version> 10 </dependency>
2.在pom.xml中定义spring-boot-starter-data-jpa
1 <!-- 定义spring-boot-starter-data-jpa --> 2 <dependency> 3 <groupid>org.springframework.boot</groupid> 4 <artifactid>spring-boot-starter-data-jpa</artifactid> 5 </dependency>
3.根据数据库表定义实体类
1 package cn.xdl.entity; 2 3 import java.io.serializable; 4 5 import javax.persistence.column; 6 import javax.persistence.entity; 7 import javax.persistence.id; 8 import javax.persistence.table; 9 10 @entity 11 @table(name="emp") //通常和@entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息 12 public class emp implements serializable{ 13 /** 14 * 15 */ 16 private static final long serialversionuid = 1l; 17 @id //定义了映射到数据库表的主键的属性,一个实体只能有一个属性被映射为主键置于getxxxx()前 18 @column(name="empno") //name表示表的名称默认地,表名和实体名称一致,只有在不一致的情况下才需要指定表名 19 private integer empno; 20 @column(name="ename") 21 private string ename; 22 @column(name="job") 23 private string job; 24 @column(name="mgr") 25 private int mgr; 26 public integer getempno() { 27 return empno; 28 } 29 public void setempno(integer empno) { 30 this.empno = empno; 31 } 32 public string getename() { 33 return ename; 34 } 35 public void setename(string ename) { 36 this.ename = ename; 37 } 38 public string getjob() { 39 return job; 40 } 41 public void setjob(string job) { 42 this.job = job; 43 } 44 public int getmgr() { 45 return mgr; 46 } 47 public void setmgr(int mgr) { 48 this.mgr = mgr; 49 } 50 @override 51 public string tostring() { 52 return "emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", mgr=" + mgr + "]"; 53 } 54 }
4.定义dao接口,继承jpa功能接口
1 package cn.xdl.jpa; 2 3 import org.springframework.data.jpa.repository.jparepository; 4 5 import cn.xdl.entity.emp; 6 //jparepository:jpa资源库 7 /** 8 * 1.所有继承该接口的都被spring所管理,改接口作为标识接口,功能就是用来控制domain模型的 9 * 2.spring data可以让我们只定义接口,只要遵循spring data的规范,无需写实现类。 10 * 11 */ 12 public interface empdao extends jparepository<emp, integer>{ 13 14 }
5.获取dao接口对象操作数据库
1 @springbootapplication 2 public class mybootapplication { 3 public static void main(string[] args) throws sqlexception { 4 applicationcontext ioc = springapplication.run(mybootapplication.class, args); 5 // 自动配置创建datasource,id名为datasource 6 datasource ds = ioc.getbean("datasource", datasource.class); 7 system.out.println(ds); 8 system.out.println("================="); 9 system.out.println("================="); 10 system.out.println("================="); 11 empdao empdao = ioc.getbean("empdao", empdao.class); 12 /** 13 * 遍历 14 */ 15 list<emp> empdatas = empdao.findall(); 16 for (emp emp : empdatas) { 17 system.out.println(emp); 18 } 19 } 20 }
推荐阅读
-
Spring Data JPA实现动态条件与范围查询实例代码
-
在Spring Boot中使用Spring-data-jpa实现分页查询
-
序列化表单为json对象,datagrid带额外参提交一次查询 后台用Spring data JPA 实现带条件的分页查询 多表关联查询
-
java~springboot~ibatis数组in查询的实现
-
SpringBoot JPA(实现查询多值)
-
springboot jpa分库分表项目实现过程详解
-
【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限
-
springboot 之jpa高级查询操作
-
在Spring Boot中使用Spring-data-jpa实现分页查询
-
基于jpa的specification实现动态查询