日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

jpa oracle mysql,JPA-Oracle-Mysql連接數據庫配置

發(fā)布時間:2025/4/5 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jpa oracle mysql,JPA-Oracle-Mysql連接數據庫配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

//...省略datasouce

class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

`

class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

persistence-oracle.xml配置文件<?xml version="1.0" encoding="UTF-8"?>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"

version="2.1">

org.hibernate.jpa.HibernatePersistenceProvider

META-INF/orm-oracle.xml

orm-oracle.xml實體類映射文件<?xml version="1.0" encoding="UTF-8"?>

xmlns="http://xmlns.jcp.org/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence/orm http://xmlns.jcp.org/xml/ns/persistence/orm/orm_2_1.xsd">

實體類package cn.com.taiji.com.domain;

import java.io.Serializable;

import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.Lob;

import javax.persistence.NamedQuery;

import javax.persistence.Table;

/**

*@ClassName: ServiceMenu

*@Description: 服務(wù)目錄

*@author ranxing

*@date 2017年8月2日 下午2:59:57

*

*/

@Entity

@Table(name="rkrm$_ywfwinfo")

@NamedQuery(name="ServiceMenu.findAll", query="SELECT t FROM ServiceMenu t")

public class ServiceMenu implements Serializable {

/**

*

*/

private static final long serialVersionUID = -1332680945578333683L;

public ServiceMenu(){

}

@Id

private String fwlxid ;

private String fwlxname;

private String fwloc;

private String fwlxdesc;

@Lob

private String fwinfo;

private String dwid;

private String ywlxid;

private String creator;

private String ctime;

private String fromfwlxid;

public String getFwlxid() {

return fwlxid;

}

public void setFwlxid(String fwlxid) {

this.fwlxid = fwlxid;

}

public String getFwlxname() {

return fwlxname;

}

public void setFwlxname(String fwlxname) {

this.fwlxname = fwlxname;

}

public String getFwloc() {

return fwloc;

}

public void setFwloc(String fwloc) {

this.fwloc = fwloc;

}

public String getFwlxdesc() {

return fwlxdesc;

}

public void setFwlxdesc(String fwlxdesc) {

this.fwlxdesc = fwlxdesc;

}

public String getFwinfo() {

return fwinfo;

}

public void setFwinfo(String fwinfo) {

this.fwinfo = fwinfo;

}

public String getDwid() {

return dwid;

}

public void setDwid(String dwid) {

this.dwid = dwid;

}

public String getYwlxid() {

return ywlxid;

}

public void setYwlxid(String ywlxid) {

this.ywlxid = ywlxid;

}

public String getCreator() {

return creator;

}

public void setCreator(String creator) {

this.creator = creator;

}

public String getCtime() {

return ctime;

}

public void setCtime(String ctime) {

this.ctime = ctime;

}

public String getFromfwlxid() {

return fromfwlxid;

}

public void setFromfwlxid(String fromfwlxid) {

this.fromfwlxid = fromfwlxid;

}

}

ServiceMenuRepository實體類相關(guān)連接數(shù)據(jù)庫接口

一般我都習(xí)慣手寫sqlpackage cn.com.taiji.com.repository;

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

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

import org.springframework.data.repository.PagingAndSortingRepository;

import cn.com.taiji.com.domain.ServiceMenu;

@Transactional//這個注解很重要哦

public interface ServiceMenuRepository extends

JpaRepository,

JpaSpecificationExecutor,

PagingAndSortingRepository{

/* 弄幾個栗子,並不是這個實體的方法

/**

* 查詢出未刪除的所有數(shù)據(jù)字典記錄集合

* @return

*/

@Query("select c from Infolink c where c.deleteFlog=1 ")

List findAllInfolinks();

//and b.infosort_id = ?1

@Query(" select c from Infolink c , InfosortInfolink b where b.infolinkId = c.infolinkId and c.infolinkId = ?1 ")

List findLinkById(String infolinkId);

//and b.infosort_id = ?1

@Modifying

@Query(" update Infolink c set c.deleteFlog = 0 where c.infolinkId= ?1 ")

void updateFlag( String infolinkId);

*/

}

一個查詢至於拼接過程看需求自己弄吧類似普通sql拼接@PersistenceContext

private EntityManager em;

@Inject

LogZJTaskInfoRepository logZJTaskInfoRepository;

@Inject

ServiceInfoRepository serviceInfoRepository;

//...以上省略 這個sql不是上面實體里面的只是例子,2個表的查詢寫法

// 大於2個表的方式,還不如使用級聯(lián)就行了,當然我不會..

// length()是oracle中clob字段的非空

// 只要配置正確mysql和oracle是通用的,除了特殊字段需要自己處理,

// 正常的都一樣查詢,mysql會自己查詢?yōu)閘imit,oracle會為ROWNUM

StringBuilder jpql = new StringBuilder ("select c from LogZJTaskInfo c , TimeInfo d where c.zyid = d.zyid "

+ "and length(d.timeinfo)>0 ") ;

Query query = em.createQuery(jpql.toString());

query.setFirstResult(page*pageSize); // query

query.setMaxResults(pageSize);

// query.setParameter("appointPeopleId", searchParameters.get("userId")); //登錄人Id

List list = query.getResultList();

map.put("List", list);

// 來個單一查詢 通用方法傳id就行

ServiceInfo si = serviceInfoRepository.findOne((String) object);

總結(jié)

以上是生活随笔為你收集整理的jpa oracle mysql,JPA-Oracle-Mysql連接數據庫配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。