SpringBoot JPA(实现查询多值)

Stella981
• 阅读 499

JPA是java Persistence API简称,中文名:java持久层API,JPA是JCP组织发布的J2EE标准之一

1.创建DataSource连接池对象

SpringBoot JPA(实现查询多值) SpringBoot JPA(实现查询多值)

 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>

View Code

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

SpringBoot JPA(实现查询多值) SpringBoot 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>

View Code

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

SpringBoot JPA(实现查询多值) SpringBoot JPA(实现查询多值)

 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 }

View Code

4.定义Dao接口,继承JPA功能接口

SpringBoot JPA(实现查询多值) SpringBoot 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 }

View Code

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

SpringBoot JPA(实现查询多值) SpringBoot JPA(实现查询多值)

 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 }

View Code

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Easter79 Easter79
2年前
SpringBoot2.0 基础案例(09):集成JPA持久层框架,简化数据库操作
本文源码GitHub:知了一笑https://github.com/cicadasmile/springbootbase一、JAP框架简介JPA(JavaPersistenceAPI)意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范。主要是为了简化持久层开
Stella981 Stella981
2年前
SpringBoot2.0 基础案例(09):集成JPA持久层框架,简化数据库操作
本文源码GitHub:知了一笑https://github.com/cicadasmile/springbootbase一、JAP框架简介JPA(JavaPersistenceAPI)意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范。主要是为了简化持久层开
Stella981 Stella981
2年前
Spring Boot 最佳实践(五)Spring Data JPA 操作 MySQL 8
一、SpringDataJPA介绍JPA(JavaPersistenceAPI)Java持久化API,是Java持久化的标准规范,Hibernate是持久化规范的技术实现,而SpringDataJPA是在Hibernate基础上封装的一款框架。开发环境Spring
Stella981 Stella981
2年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
No entity found for query异常之jpa
jpa是什么?JPA全称JavaPersistenceAPI.JPA通过JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA是JCP组织发布的JavaEE标准之一,因此任何声称符合JPA标准的框架都遵循同样的架构,提供相同的访问API,这保证了基于JPA开发的企业应用能够经过少
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这