SpringBoot JPA實(shí)現(xiàn)查詢多值
JPA是java Persistence API簡(jiǎn)稱,中文名:java持久層API,JPA是JCP組織發(fā)布的J2EE標(biāo)準(zhǔn)之一
1.創(chuàng)建DataSource連接池對(duì)象
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- 數(shù)據(jù)庫(kù)驅(qū)動(dòng) --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency>
2.在pom.xml中定義spring-boot-starter-data-jpa
<!-- 定義spring-boot-starter-data-jpa --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
3.根據(jù)數(shù)據(jù)庫(kù)表定義實(shí)體類
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配合使用,只能標(biāo)注在實(shí)體的class定義處,表示實(shí)體對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的信息 public class Emp implements Serializable{ /** * */ private static final long serialVersionUID = 1L; @Id //定義了映射到數(shù)據(jù)庫(kù)表的主鍵的屬性,一個(gè)實(shí)體只能有一個(gè)屬性被映射為主鍵置于getXxxx()前 @Column(name="EMPNO") //name表示表的名稱默認(rèn)地,表名和實(shí)體名稱一致,只有在不一致的情況下才需要指定表名 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功能接口
package cn.xdl.jpa; import org.springframework.data.jpa.repository.JpaRepository; import cn.xdl.entity.Emp; //JpaRepository:JPA資源庫(kù) /** * 1.所有繼承該接口的都被spring所管理,改接口作為標(biāo)識(shí)接口,功能就是用來(lái)控制domain模型的 * 2.Spring Data可以讓我們只定義接口,只要遵循spring data的規(guī)范,無(wú)需寫(xiě)實(shí)現(xiàn)類。 * */ public interface EmpDao extends JpaRepository<Emp, Integer>{ }
5.獲取Dao接口對(duì)象操作數(shù)據(jù)庫(kù)
@SpringBootApplication public class MyBootApplication { public static void main(String[] args) throws SQLException { ApplicationContext ioc = SpringApplication.run(MyBootApplication.class, args); // 自動(dòng)配置創(chuàng)建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); } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Flink自定義Sink端實(shí)現(xiàn)過(guò)程講解
這篇文章主要介紹了Flink自定義Sink端實(shí)現(xiàn)過(guò)程,在Fink官網(wǎng)中sink端只是給出了常規(guī)的write api.在我們實(shí)際開(kāi)發(fā)場(chǎng)景中需要將flink處理的數(shù)據(jù)寫(xiě)入kafka,hbase kudu等外部系統(tǒng)2023-01-01springboot中如何通過(guò)cors協(xié)議解決跨域問(wèn)題
這篇文章主要介紹了springboot中通過(guò)cors協(xié)議解決跨域問(wèn)題,cors是一個(gè)w3c標(biāo)準(zhǔn),它允許瀏覽器(目前ie8以下還不能被支持)像我們不同源的服務(wù)器發(fā)出xmlHttpRequest請(qǐng)求,我們可以繼續(xù)使用ajax進(jìn)行請(qǐng)求訪問(wèn)。具體內(nèi)容詳情大家跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05Mybatis SqlSessionFactory與SqlSession詳細(xì)講解
SqlSessionFactory是MyBatis的核心類之一,其最重要的功能就是提供創(chuàng)建MyBatis的核心接口SqlSession,所以我們需要先創(chuàng)建SqlSessionFactory,為此我們需要提供配置文件和相關(guān)的參數(shù)2022-11-11