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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

水晶报表 jar包版本过低_工具类学习-UReport报表设计器整合

發(fā)布時(shí)間:2024/7/5 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 水晶报表 jar包版本过低_工具类学习-UReport报表设计器整合 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

dada-report報(bào)表整合UReport報(bào)表設(shè)計(jì)器工具

結(jié)合日常工作和學(xué)習(xí)實(shí)踐,針對傳統(tǒng)報(bào)表子站面臨的問題,嘗試借助UReport報(bào)表設(shè)計(jì)器解決

1.可在現(xiàn)有工程基礎(chǔ)上引入U(xiǎn)report2報(bào)表設(shè)計(jì)器

Ureport報(bào)表設(shè)計(jì)器是一個(gè)基于WEB的在線報(bào)表設(shè)計(jì)器,其具有良好的界面設(shè)計(jì)和強(qiáng)大的報(bào)表設(shè)計(jì)功能,支持報(bào)表多種格式導(dǎo)出(分頁)、報(bào)表通用性設(shè)計(jì)等,Ureport2支持簡單、復(fù)雜報(bào)表的設(shè)計(jì),能夠很好地嵌合實(shí)際業(yè)務(wù)需求,其報(bào)表設(shè)計(jì)可通過純sql或者是配置的方式實(shí)現(xiàn),以此可針對不同的人員進(jìn)行管理。

2.針對多租戶、復(fù)雜報(bào)表設(shè)計(jì)

Ureport2可在工程中自定義報(bào)表存儲器和數(shù)據(jù)源,在代碼邏輯層模擬實(shí)現(xiàn)多租戶概念(不同的租戶訪問不同的報(bào)表存儲器、數(shù)據(jù)源信息)

3.現(xiàn)存問題

a.學(xué)習(xí)成本

將UReport報(bào)表設(shè)計(jì)器整合到已有項(xiàng)目并非一件難事,只需要通過簡單的配置便可完成,主要的工作量在于后期報(bào)表的設(shè)計(jì)、維護(hù),以及UReport2報(bào)表設(shè)計(jì)器的學(xué)習(xí)需要耗費(fèi)一定的時(shí)間和精力,需要開發(fā)人員了解報(bào)表設(shè)計(jì)的流程、原理,掌握排查報(bào)表設(shè)計(jì)錯(cuò)誤的方法,熟練應(yīng)用。

b.與實(shí)際業(yè)務(wù)整合

現(xiàn)有報(bào)表子站中的存量報(bào)表數(shù)量較多,如果所有的報(bào)表都要重新進(jìn)行設(shè)計(jì)、維護(hù),將是一個(gè)巨大的工作量。

UReport2僅僅是一個(gè)報(bào)表設(shè)計(jì)器,如果要結(jié)合需求實(shí)現(xiàn)多租戶概念,相應(yīng)需要額外對應(yīng)的維護(hù)頁面與接口設(shè)計(jì)

針對大數(shù)據(jù)量數(shù)據(jù)處理還存在一定的問題,其中涉及緩存概念,有時(shí)候處理特大數(shù)據(jù)量的時(shí)候后臺報(bào)錯(cuò),考慮需要深入U(xiǎn)Report源碼分析或者是相關(guān)配置調(diào)整;且其提供的圖形統(tǒng)計(jì)圖顯示相對EChart而言并不太友好。

從這段時(shí)間的學(xué)習(xí)來看Ureport是比較方便且功能強(qiáng)大的開源插件,其與實(shí)際業(yè)務(wù)的整合、數(shù)據(jù)的處理還需要時(shí)間的驗(yàn)證,畢竟還需要考慮額外諸多因素,在后續(xù)的學(xué)習(xí)中會考慮進(jìn)一步完善

以下簡單提供本人在畢設(shè)中使用Ureport的一些學(xué)習(xí)筆記參考,個(gè)人建議可借助網(wǎng)絡(luò)資源去結(jié)合學(xué)習(xí)會比較好理解:https://www.w3cschool.cn/ureport/

SSM框架整合UReport報(bào)表設(shè)計(jì)器

參考鏈接:

https://www.w3cschool.cn/ureport/

整合過程分析

1.在pom.xml文件中引入相關(guān)依賴

<dependency>

完整pom.xml參考配置:

<project

2.在web.xml文件中配置UReport的Servlet

<servlet>

3.引入U(xiǎn)Report相關(guān)的配置文件

有三種方式實(shí)現(xiàn)配置文件引入:根據(jù)實(shí)際工程搭建的情況靈活選擇引入的方式

方式1:直接在web.xml中加載ureport-console-context.xml文件(針對普通的Maven工程配置,沒有采用spring文件)

<listener>

方式2:在已有的spring配置文件中導(dǎo)入數(shù)據(jù)

<import

方式3:如果沒有spring配置文件,直接創(chuàng)建一個(gè)context.xml中

<?xml version="1.0" encoding="UTF-8"?>

此處對已有的SSM項(xiàng)目整合做說明:

無論是以上哪種方式實(shí)現(xiàn),必須保證在web.xml需要加載相應(yīng)的spring配置文件,否則項(xiàng)目在啟動的時(shí)候就會報(bào)視圖解析失敗,沒有相應(yīng)的designer

在整合啟動的過程中可能由于maven相關(guān)jar包沒有正常導(dǎo)入,導(dǎo)致ureport依賴的相關(guān)jar包非正常導(dǎo)入,項(xiàng)目啟動報(bào)錯(cuò)(刪除maven倉庫的內(nèi)容,重新導(dǎo)入jar包)

以下簡單對整合過程中可能遇到的問題做簡單的說明

問題1:指定屬性無法找到(是由于在整合的過程中Ureport報(bào)表設(shè)計(jì)器需要指定的屬性并沒有在自己搭建的工程中指定,因而報(bào)錯(cuò))

啟動的時(shí)候如果報(bào)找不到指定的屬性:則需要在屬性配置的時(shí)候需要不存在(未配置)的屬性(在applicationContext-dao.xml、springmvc.xml下加載了屬性文件,添加屬性忽略掉沒有定義的屬性查找),報(bào)錯(cuò)內(nèi)容如下所示

針對spring配置文件處理:

針對普通maven工程處理:

配置屬性說明:Ureport有自定義的配置屬性,這些配置屬性是與報(bào)表存儲、設(shè)計(jì)相關(guān)的,具體內(nèi)容需要根據(jù)實(shí)際的業(yè)務(wù)需求去自行配置,如果不需要?jiǎng)t在代碼邏輯層對業(yè)務(wù)流轉(zhuǎn)進(jìn)行控制即可

問題2:404或指定designer設(shè)計(jì)器不存在

在整合的ssm中配置ureport出錯(cuò),通過鏈接訪問數(shù)據(jù)的時(shí)候無法找到指定的頁面,初步考慮路徑配置,之后查看web.xml配置,發(fā)現(xiàn)在之前的前端控制器配置中,默認(rèn)攔截了所有的請求,因此在請求的時(shí)候直接被dada-report這個(gè)前端控制器攔截,但dada-report這個(gè)控制器下并沒有指定的ureport相關(guān)的內(nèi)容存在,因此會報(bào)404訪問路徑錯(cuò)誤或者是designer報(bào)表設(shè)計(jì)器不存在的問題,此處需要對dada-report攔截的內(nèi)容做限制,參考前端控制器攔截(攔截說明、攔截順序、執(zhí)行順序)

原始配置:

直接配置如下所示,但如果出現(xiàn)designer視圖不存在,考慮是相應(yīng)的文件沒有加載進(jìn)去,因?yàn)樵趕pringmvc.xml中加載了有關(guān)的ureport2配置文件,因此要在初始化加載spring容器的時(shí)候?qū)?yīng)的springmvl.xml配置文件進(jìn)行加載,否則無法找到相應(yīng)內(nèi)容,出現(xiàn)如下所示錯(cuò)誤

要么就設(shè)置Servlet默認(rèn)啟動的時(shí)候加載配置文件

實(shí)際SSM整合說明如下:

依賴配置:添加ureport相關(guān)的依賴jar包

為了避免配置文件混亂,也避免改動原有ssm配置,此處單獨(dú)在resources目錄下創(chuàng)建一個(gè)文件夾ureport存放ureport-custom-context.xml配置文件以編輯相關(guān)的ureport配置,并在web.xml中配置相應(yīng)的全局參數(shù)(必須在context-param中配置加載文件)

配置完成,啟動項(xiàng)目,訪問鏈接:http://localhost:8084/ureport/designer

Ureport報(bào)表設(shè)計(jì)器顯示如下:

可以適當(dāng)了解web.xml各個(gè)參數(shù)配置的含義:

完成配置,根據(jù)W3CSchoool等相關(guān)教程完成業(yè)務(wù)和報(bào)表工具的整合,以下簡單根據(jù)教程完成業(yè)務(wù)流程簡單實(shí)現(xiàn)

https://www.w3cschool.cn/ureport/ureport-y4op2han.html

測試的時(shí)候如果出現(xiàn)按鈕點(diǎn)擊無反應(yīng),則可能是彈出式窗口被瀏覽器攔截,只需要允許彈出即可,或可直接通過url直接訪問

通用報(bào)表設(shè)計(jì)整合

無論是機(jī)構(gòu)、還是平臺報(bào)表存儲器,此處操作的表字段都是統(tǒng)一的,因此此處做一個(gè)調(diào)整,設(shè)置通用的方法將重復(fù)的內(nèi)容統(tǒng)一起來,用不同的字段標(biāo)識進(jìn)行劃分,由前臺頁面?zhèn)魅霐?shù)據(jù)限定相應(yīng)的標(biāo)準(zhǔn),不需要重復(fù)操作代碼

a.創(chuàng)建指定數(shù)據(jù)表結(jié)構(gòu)(字段需保持一致)

存儲報(bào)表文件、數(shù)據(jù)源配置文件(概念上區(qū)分,實(shí)際內(nèi)容基本一致)

機(jī)構(gòu)相關(guān)存儲器:ureport_file、ureport_data_source_file、

平臺公共存儲器:ureport_backup、ureport_data_source_backup

保持?jǐn)?shù)據(jù)字段相應(yīng)一致,主要包括file_id(主鍵)、file_name(文件名稱)、file_content(文件內(nèi)容)三個(gè)基本字段,具體其余字段的設(shè)計(jì)則根據(jù)實(shí)際工程需求進(jìn)行擴(kuò)展。

表字段:

b.創(chuàng)建通用的實(shí)體類UreportFileManager

UreportFileManager類作為通用的實(shí)體類,使得在dao層只需要指定需要操作的表名tableName便可實(shí)現(xiàn)對不同的數(shù)據(jù)表進(jìn)行操作,UreportFileManager基本結(jié)構(gòu)定義需要與相應(yīng)數(shù)據(jù)表的屬性一一對應(yīng)。

Model實(shí)體:

Mapper層查找參數(shù)設(shè)置:

c.通用mapper方法實(shí)現(xiàn)

為了實(shí)現(xiàn)mapper方法操作的通用性,引入U(xiǎn)reportFileSearchParam類用于封裝操作參數(shù),其主要包括操作表名tableName、操作實(shí)體ureportFileManager以及與報(bào)表文件數(shù)據(jù)庫實(shí)體相對應(yīng)篩選參數(shù)。

UreportFileManagerMapper接口通過接收searchParam指定的參數(shù)組合,操作指定的報(bào)表文件存儲器,實(shí)現(xiàn)以參數(shù)配置去訪問不同的數(shù)據(jù)庫并與UReport報(bào)表引擎進(jìn)行數(shù)據(jù)交互,從而間接減少代碼設(shè)計(jì)的冗余量,并便于報(bào)表存儲器的不限量擴(kuò)展。針對報(bào)表的管理與權(quán)限的控制則考慮在同一個(gè)數(shù)據(jù)庫中劃分不同的區(qū)域用以區(qū)分不同的機(jī)構(gòu)、不同的部門所訪問的存儲空間不同,在mapper層借助searchParam指定篩選條件,提供相應(yīng)的接口供相應(yīng)的Serivce層、存儲器Provider進(jìn)行調(diào)用

對應(yīng)mapper層配置:

對應(yīng)mapper.xml:

<?xml version="1.0" encoding="UTF-8"?>

對應(yīng)狀態(tài)概念調(diào)整:

public_state:可理解為開發(fā)狀態(tài)(開發(fā)中0、已完結(jié)1),亦可理解為公開狀態(tài)(私有0、公開1)

visible_state:可見狀態(tài):針對部分已完結(jié)的報(bào)表,但想對用戶隱藏(0.不可見 1.可見)

Ureport報(bào)表工具學(xué)習(xí)

報(bào)表設(shè)計(jì)器訪問路徑:http://localhost:8084/ureport/designer

http://host[:port][/context-path]/ureport/designer

1.報(bào)表存儲存儲目錄配置

a.默認(rèn)的報(bào)表存儲目錄配置

默認(rèn)情況下:在項(xiàng)目的WEB-INF目錄有會自動生成了一個(gè)名為“ureportfiles”目錄,這個(gè)目錄是UReport2提供的默認(rèn)的報(bào)表文件存儲目錄,也就是說默認(rèn)情況下,UReport將在項(xiàng)目的WEB-INF/ureportfiles目錄下存儲設(shè)計(jì)好的報(bào)表文件。

默認(rèn)報(bào)表存儲目錄
如果項(xiàng)目在Eclipse的開發(fā)環(huán)境運(yùn)行時(shí),采用的是jetty(比如run-jetty-run插件),那么就可以在項(xiàng)目的WEB-INF目錄下發(fā)現(xiàn)一個(gè)名為“ureportfiles”目錄。
但如果采用tomcat運(yùn)行項(xiàng)目,那么在WEB-INF目錄下就沒有一個(gè)名為“ureportfiles”目錄,原因是在Eclipse中運(yùn)行tomcat,tomcat需要?jiǎng)?chuàng)建一個(gè)臨時(shí)的工作目錄(該目錄一般位于workspace.metadata.pluginsorg.eclipse.wst.server.coretmp0wtpwebapps下),所以采用tomcat運(yùn)行項(xiàng)目,則需要到這個(gè)臨時(shí)的工作目錄下找到對應(yīng)的項(xiàng)目,再到這個(gè)項(xiàng)目的WEB-INF目錄下找到對應(yīng)的“ureportfiles”目錄

運(yùn)行搭建好的項(xiàng)目,打開報(bào)表設(shè)計(jì)器,點(diǎn)擊工具欄的保存按鈕,彈出如下所示窗口:

完成數(shù)據(jù)保存,刷新工程目錄則可看到對應(yīng)生成的數(shù)據(jù)信息

b.自定義報(bào)表存儲目錄配置

在項(xiàng)目對應(yīng)配置文件(參考整合過程,此處ureport獨(dú)立的spring配置文件在resource/ureport/ureport-custom-context.xml),相應(yīng)在其ureport目錄下創(chuàng)建一個(gè)ureport-custom.properties配置文件存放有關(guān)ureport配置的基本屬性

上面的Bean配置,實(shí)際上就是一個(gè)標(biāo)準(zhǔn)的

org.springframework.beans.factory.config.PropertyPlaceholderConfigurer類配置,通過配置PropertyPlaceholderConfigurer,可以實(shí)現(xiàn)加載Spring外部properties的作用,所以項(xiàng)目中已配置了PropertyPlaceholderConfigurer類,那么直接在這個(gè)類對應(yīng)的properties文件中添加對應(yīng)的UReport2屬性即可,而不需要額外配置config.properties文件

完成文件加載配置,在相應(yīng)的配置文件中配置屬性即可:

表示在E盤根下名為ureportfiles的目錄中存儲報(bào)表文件,需要注意的是,這里指定特定目錄時(shí),一定要保證這個(gè)目錄已存在,否則將不會被采用,比如上面的E盤下名為ureportfiles的目錄,就需要預(yù)先創(chuàng)建好。(指定文件目錄不存在,則提示如下)

c.自定義報(bào)表存儲器

UReport2默認(rèn)提供的名為“服務(wù)器文件系統(tǒng)”的報(bào)表存儲機(jī)制,實(shí)際上是實(shí)現(xiàn)了UReport2提供的com.bstek.ureport.provider.report.ReportProvider接口,該接口源碼如下:

package

實(shí)現(xiàn)了ReportProvider接口后,只需要將實(shí)現(xiàn)類配置到Spring中,讓其成為一個(gè)標(biāo)準(zhǔn)的Spring Bean,這樣UReport2就會檢測到它而將其加載。下面是UReport2默認(rèn)提供的名為“服務(wù)器文件系統(tǒng)”的報(bào)表存儲器源碼:

package

禁用系統(tǒng)提供的默認(rèn)報(bào)表存儲器
如果想使用自定義的報(bào)表存儲器,同時(shí)又不想再使用系統(tǒng)默認(rèn)提供的”服務(wù)器文件系統(tǒng)“的報(bào)表存儲器,那么只需要在相應(yīng)的報(bào)表配置文件(舉例:config.properties)文件中添加一個(gè)名為ureport.disableFileProvider屬性,將其值設(shè)置成true即可。

通過實(shí)現(xiàn)ReportProvider接口,可以開發(fā)出其它類型的報(bào)表存儲器,比如開發(fā)一個(gè)新的報(bào)表存儲器將報(bào)表文件存儲到數(shù)據(jù)庫、FTP等。

參考鏈接:

存儲報(bào)表至fastdfs:

https://blog.csdn.net/qq_35170213/article/details/80290797

存儲報(bào)表至數(shù)據(jù)庫:

https://blog.csdn.net/qq_35170213/article/details/80290425

自定義報(bào)表存儲器(數(shù)據(jù)庫)

<1>創(chuàng)建存儲報(bào)表信息的數(shù)據(jù)表

考慮實(shí)際需求,此處分別定義了CustomProvider報(bào)表存儲器用于測試,可結(jié)合實(shí)際業(yè)務(wù)球球完成數(shù)據(jù)表設(shè)計(jì),在基礎(chǔ)屬性的基礎(chǔ)上添加其他字段用于業(yè)務(wù)的邏輯擴(kuò)展

基本設(shè)計(jì):(僅供參考)

/** 建表 sql - 基本參考 */

為契合業(yè)務(wù)需求,初步考慮數(shù)據(jù)表設(shè)計(jì)如下,具體的內(nèi)容根據(jù)實(shí)際需求做調(diào)整

<2>dao層/Mapper實(shí)現(xiàn)方法(基本的增刪改查)

此處提供一個(gè)通用的接口模板,具體實(shí)現(xiàn)的邏輯則需要根據(jù)實(shí)際的業(yè)務(wù)需求去設(shè)計(jì)

例如整合報(bào)表平臺的時(shí)候需要考慮實(shí)際報(bào)表權(quán)限的問題,因此需要考慮根據(jù)當(dāng)前用戶登錄的權(quán)限,所屬的機(jī)構(gòu)等進(jìn)行條件篩選

PS:由于報(bào)表存儲器的數(shù)據(jù)庫設(shè)計(jì)基本保持一致,由此可考慮創(chuàng)建一個(gè)通用的dao、service進(jìn)行控制,只需要通過前端頁面調(diào)用接口傳入數(shù)據(jù)表名tableName即可控制要操作的存儲器,由此可間接實(shí)現(xiàn)多租戶報(bào)表管理的概念(不同的租戶可訪問不同的報(bào)表存儲器)

-- 此處為簡單配置簡單演示單表操作

@Mapper

具體的mapper.xml文件則需要參考實(shí)際表設(shè)計(jì)完成相應(yīng)配置,需要注意的是name、content這兩個(gè)屬性,這兩個(gè)屬性是報(bào)表設(shè)計(jì)的必要屬性,以下提供基本模板,實(shí)際內(nèi)容參考實(shí)際需求進(jìn)行調(diào)整

<?xml version="1.0" encoding="UTF-8" ?>

報(bào)表內(nèi)容存儲的類型:

Mysql數(shù)據(jù)庫中表字段設(shè)置為‘mediumblob’類型

在mapper配置的數(shù)據(jù)類型為‘BLOB’、‘LONGARBINARY’

兩種類型在數(shù)據(jù)庫中存儲的形式:

報(bào)表存儲器設(shè)計(jì)

基于springboot的參考

import

基于SSM的設(shè)計(jì)參考

public

測試問題分析

創(chuàng)建xxxProvider繼承ureport的ReportProvider方法,完成報(bào)表存儲相關(guān)的操作

測試:數(shù)據(jù)能夠正常保存,但是卻無法正常訪問

分析,在保存報(bào)表文件信息,或者是打開報(bào)表文件的時(shí)候請求接口,報(bào)錯(cuò)。

理想結(jié)果:自動封裝相應(yīng)存儲的數(shù)據(jù)信息

實(shí)際結(jié)果:只封裝了第一個(gè)定義的存儲器,隨后報(bào)如下錯(cuò)誤

(查看數(shù)據(jù)庫mapper配置!!)

一開始考慮是多個(gè)報(bào)表存儲器沖突導(dǎo)致的問題,之后測試無論是啟用或禁用服務(wù)默認(rèn)報(bào)表存儲器還是出現(xiàn)同樣的問題,數(shù)據(jù)庫訪問也沒有看見明顯的錯(cuò)誤,隨后查閱代碼發(fā)現(xiàn)問題所在,由于一開始考慮機(jī)構(gòu)報(bào)表存儲器和平臺備份報(bào)表存儲器是類似的,直接復(fù)制粘貼代碼,后期改動沒有注意到一些細(xì)節(jié)性的問題,設(shè)置斷點(diǎn)也無法找到明顯的錯(cuò)誤點(diǎn)(點(diǎn)擊的時(shí)候加載就報(bào)錯(cuò),無法通過設(shè)置斷點(diǎn)查找出錯(cuò)問題),仔細(xì)查看報(bào)錯(cuò)信息,發(fā)現(xiàn)問題所在

可以看到保存信息顯示兩條sql語句查詢的結(jié)果不同,前者正常查找數(shù)據(jù),而后者查找數(shù)據(jù)到“Parameters:”(參數(shù)沒有正常傳遞)則異常結(jié)束關(guān)閉數(shù)據(jù)庫連接,并沒有正常的返回,網(wǎng)上查閱輸出流格式?jīng)_突,具體原因并不明確,考慮是報(bào)表內(nèi)容存儲格式問題,由mybatis逆向工程生成的mediumblob對應(yīng)的是LONGVARBINARY,而網(wǎng)上參考是BLOB,修正后再次測試數(shù)據(jù)方能正常顯示!!由此考慮報(bào)表內(nèi)容存儲格式導(dǎo)致出錯(cuò)!!(具體可以參考相關(guān)鏈接了解LONGVARBINARY與BLOB的區(qū)別)

以上描述的問題均為mapper配置文件出現(xiàn)問題導(dǎo)致,在配置mapper文件時(shí)需要注意mapper層接口和相應(yīng)配置文件的名稱、方法名意義對應(yīng),需要注意方法的定義(入?yún)ⅰ⒊鰠?#xff09;,需要注意參數(shù)定義的類型(文本型字符串需要考慮數(shù)據(jù)定義的類型要相對應(yīng))

自定義報(bào)表存儲器(ftp-待定)

參考鏈接:https://blog.csdn.net/qq_35170213/article/details/80290797

2.數(shù)據(jù)源配置

打開UReport2的報(bào)表設(shè)計(jì)器,可以看到UReport2提供了三種類型的報(bào)表數(shù)據(jù)源,如下圖所示:三種類型的數(shù)據(jù)源分別是直接連接數(shù)據(jù)庫,Spring Bean以及通過實(shí)現(xiàn)com.bstek.ureport.definition.datasource.BuildinDatasource接口提供的內(nèi)置數(shù)據(jù)源。

配置1:直連數(shù)據(jù)庫

直接連接數(shù)據(jù)庫比較簡單,就是在項(xiàng)目的classpath中添加好相應(yīng)數(shù)據(jù)庫的驅(qū)動Jar包后,在彈出的窗口中配置數(shù)據(jù)源連接信息即可,如下圖所示:在頁面用數(shù)據(jù)源配置鏈接數(shù)據(jù)庫注意,不要刷新瀏覽器,刷新之后鏈接會清空

點(diǎn)擊測試連接,可以看到對應(yīng)目錄下生成了相應(yīng)的數(shù)據(jù)源,右鍵選擇需要操作的數(shù)據(jù)源可進(jìn)行“添加數(shù)據(jù)集、編輯、刪除操作”

根據(jù)相應(yīng)的數(shù)據(jù)集配置相關(guān)的數(shù)據(jù):

如果連接測試失敗:查看失敗原因,依次進(jìn)行查找

Maven引入Oracle驅(qū)動依賴

(在pom.xml文件中添加oracle驅(qū)動maven依賴存在一定的問題,可參考鏈接了解相關(guān)內(nèi)容https://blog.csdn.net/erlian1992/article/details/74279106)

由于Oracle數(shù)據(jù)庫JDBC驅(qū)動包的使用的JDK版本有所區(qū)別,一定要下載對應(yīng)的JDK版本的Oracle數(shù)據(jù)庫JDBC驅(qū)動,JDK1.5的選擇ojdbc.jar驅(qū)動包,如果是JDK1.6及以上版本的選擇ojdbc6.jar驅(qū)動包,如果JDK環(huán)境是JDK1.8,那么選擇ojdbc6.jar驅(qū)動包。

方式1:可以通過在官網(wǎng)下載相應(yīng)的jar包:

https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html

方式2:如果本地安裝了oracle數(shù)據(jù)庫,則可在指定目錄查找到相應(yīng)的ojdbc6.jar(其路徑為對應(yīng)安裝目錄)E:OracleappAdministratorproduct11.2.0dbhome_1jdbclibojdbc6.jar)

接下來就是手動向Maven的本地倉庫中添加Oracle數(shù)據(jù)庫的JDBC驅(qū)動依賴。安裝的前提是你的電腦必須安裝了Maven,并且配置了Maven環(huán)境變量(參考maven配置)通過cmd窗口(或Eclipse的Maven插件、IDEA的Terminal)執(zhí)行命令(雖然使用的工具不同,但是指定的文件位置和Maven坐標(biāo)都是一樣的)

需要注意的是如果是使用方式2,需要將相關(guān)的ojdb6.jar包放到其他文件夾中,不要在oracle安裝目錄下直接執(zhí)行指令,可能會出現(xiàn)Oracle拒絕訪問的情況

此處用eclipse的maven插件實(shí)現(xiàn)(Terminal)

$ mvn install:install -file -Dfile=F:jarojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 -Dpackaging=jar(根據(jù)實(shí)際調(diào)整路徑)

進(jìn)入到指定的目錄下直接執(zhí)行:

$ mvn install:install-file -Dfile=ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 -Dpackaging=jar

執(zhí)行完成之后可以看到對應(yīng)的mvn安裝倉庫有相應(yīng)的資源生成:

完成jar導(dǎo)入到本地倉庫之后,則可在項(xiàng)目中添加使用oracle相關(guān)依賴(添加的依賴版本需要與指定的數(shù)據(jù)(導(dǎo)入到maven本地倉庫時(shí)的依賴定義)一致),如果依賴引入失敗,查看對應(yīng)的定義的版本、依賴是否一致

<!-- 添加oracle驅(qū)動依賴 -->

<dependency>

<groupId>com.oracle</groupId>

<artifactId>ojdbc6</artifactId>

<version>11.2.0.1.0</version>

</dependency>

配置2:SpringBean數(shù)據(jù)源

Spring Bean類型的數(shù)據(jù)源可以選擇Spring上下文中定義好的一個(gè)Bean來作為數(shù)據(jù)源,點(diǎn)擊

圖標(biāo),在彈出的窗口中輸入數(shù)據(jù)源名稱及要采用的Bean的ID,如下圖所示:

保存后,就可以在這個(gè)數(shù)據(jù)源下添加具體的數(shù)據(jù)集,添加方法就是在這個(gè)數(shù)據(jù)源下右鍵,在彈出的菜單中選擇添加數(shù)據(jù)集,在彈出的窗口中定義數(shù)據(jù)集名稱、對應(yīng)的方法名以及返回對象類型,如下圖所示:

(如果springBean中沒有指定id的bean兌現(xiàn)個(gè),此處在添加數(shù)據(jù)集,選擇方法的時(shí)候相應(yīng)報(bào)錯(cuò)-空指針異常,指定的bean對象不存在)

在Spring bean數(shù)據(jù)集配置中,方法名我們可以點(diǎn)擊右側(cè)的“選擇方法”按鈕來選擇當(dāng)前Bean對應(yīng)的類中定義的方法,但這里對方法的要求是:方法必須要有三個(gè)參數(shù),依次是String,String,Map,比如我們上面定義的testBean里就包含兩個(gè)合法的方法,如下所示:

對于一個(gè)合法的Bean數(shù)據(jù)集方法要有三個(gè)參數(shù),分別是String,String,Map,依次對應(yīng)數(shù)據(jù)源名稱、數(shù)據(jù)集名稱以及外部傳入的參數(shù)Map,Bean的方法只有是這種結(jié)構(gòu)才可以進(jìn)行選擇。對于數(shù)據(jù)集方法的返回值,目前來說可以支持兩種類型,一種是我們TestBean中返回的Map<String,Object>類型的List集合;另一種就是返回一個(gè)POJO類型的List集合,比如像下面的方法: 在上面的示例方法中,返回的就是User對象集合,這里的User對象,就是一個(gè)普通的POJO對象。(提供示例可以通過SpringBean自定義相關(guān)數(shù)據(jù)實(shí)現(xiàn))

參考上述介紹,設(shè)置了如下數(shù)據(jù)配置:

在dada-report下創(chuàng)建com.dada.report.datasource包,創(chuàng)建相應(yīng)的xxxBean類,并在指定的ureport配置文件中配置bean對象(或者是直接通過@Component注解進(jìn)行定義)

package

配置完成,啟動項(xiàng)目,再次填寫數(shù)據(jù)并點(diǎn)擊保存按鈕,能夠看到相應(yīng)的SpringBean數(shù)據(jù)配置完成,相應(yīng)的會返回相關(guān)的方法

選擇相應(yīng)數(shù)據(jù)源配置,返回相應(yīng)為數(shù)據(jù)類型(如果不配置則需要手動添加字段)

配置3:內(nèi)置數(shù)據(jù)源

內(nèi)置數(shù)據(jù)源要求實(shí)現(xiàn)BuildinDatasource接口,同時(shí)將BuildinDatasource接口實(shí)現(xiàn)類配置到Spring即可,BuildinDatasource接口源碼如下:

此處測試參考代碼如下:

方式1:借助JDBCUtils工具類(自定義)獲取數(shù)據(jù)源

package

}

在ureport配置文件中配置dataSource對象:

方式2:通過spring管理DataSource數(shù)據(jù)源(以注解方式獲取數(shù)據(jù)源連接)

package

在ureport配置文件中配置dataSource對象:

多數(shù)據(jù)源配置問題:

在通過xml配置文件配置的時(shí)候,使用@Autowired注解,其按住奧byType自動植入,但如果文中配置兩個(gè)相同類型的dataSource,則在項(xiàng)目啟動加載spring自動注入的時(shí)候會報(bào)錯(cuò)

org

因此在配置注解的時(shí)候需要明確注入的是哪個(gè)對象(可以參考spring注解說明,了解每個(gè)注解之間的異同,參考鏈接:https://www.cnblogs.com/think-in-java/p/5474740.html)

@Resource的作用相當(dāng)于@Autowired,只不過@Autowired按照byType自動注入

BuildinDatasource接口實(shí)現(xiàn)類配置到Spring中后,UReport2會自動檢測到,完成配置啟動測試,在報(bào)表設(shè)計(jì)器中,點(diǎn)擊數(shù)據(jù)源頁簽中的

按鈕,在彈出的窗口中就可以選擇定義好的內(nèi)置數(shù)據(jù)源,如下圖所示:

查看配置是否正確,可通過右鍵選擇添加數(shù)據(jù)集,如果數(shù)據(jù)正常顯示則連接正常,但如果出現(xiàn)“數(shù)據(jù)源不存在”或“后臺空指針異常”則說明數(shù)據(jù)源配置存在問題,需要進(jìn)行修改調(diào)整

數(shù)據(jù)源配置方法說明

在數(shù)據(jù)源中有三個(gè)選擇:

服務(wù)器啟動期間數(shù)據(jù)源配置是有效,當(dāng)服務(wù)器重啟后數(shù)據(jù)源配置并不保存,除卻在spring配置完成的springBean、內(nèi)置數(shù)據(jù)源數(shù)據(jù)是在服務(wù)器啟動的時(shí)候便加載,直接連接數(shù)據(jù)源信息不會保存,三種不同的數(shù)據(jù)源連接方式創(chuàng)建數(shù)據(jù)保存到指定的xml,重啟服務(wù)器后再次加載該模板數(shù)據(jù)也不會丟失(基本的配置在xml文件中已做存儲)

數(shù)據(jù)源直接連接:在報(bào)表數(shù)據(jù)多的情況下如果環(huán)境替換則難以維護(hù)

spring bean數(shù)據(jù)源:需要指定spring 中 datasource的bean Id,其會在IOC容器中獲取!

內(nèi)置數(shù)據(jù)源:在spring配置該數(shù)據(jù)源對象,即需要?jiǎng)?chuàng)建一個(gè)類,其實(shí)現(xiàn)

com.bstek.ureport.definition.datasource.BuildinDatasource接口,封裝數(shù)據(jù)源信息

3.報(bào)表的基本使用

參考鏈接:

https://www.w3cschool.cn/ureport/

UReport2教學(xué)視頻:http://pan.baidu.com/s/1boWTxF5,密碼:98hj

4.報(bào)表設(shè)計(jì)器與業(yè)務(wù)結(jié)合

在項(xiàng)目中整合報(bào)表設(shè)計(jì)器之后,便可通過相關(guān)url完成報(bào)表數(shù)據(jù)的引用,將其與實(shí)際業(yè)務(wù)進(jìn)行整合,以下簡單說明ureport相關(guān)報(bào)表設(shè)計(jì)器的url說明

報(bào)表相關(guān)url介紹

報(bào)表設(shè)計(jì)器:http://host[:port][/context-path]/ureport/designer

報(bào)表預(yù)覽:http://host[:port][/context-path]/ureport/preview?_u=報(bào)表名稱

預(yù)覽正在設(shè)計(jì)中的報(bào)表注意事項(xiàng):在預(yù)覽正在設(shè)計(jì)器中設(shè)計(jì)的報(bào)表時(shí)(也就是_u=p),UReport2會在點(diǎn)擊設(shè)計(jì)器工具欄

圖標(biāo)時(shí),將設(shè)計(jì)中的報(bào)表模版信息提交到服務(wù)器,存放于當(dāng)前用戶的session中(用戶會話中),所以一旦用戶session失效,如果我們再次直接預(yù)覽_u=p類型報(bào)表時(shí),會看到“com.bstek.ureport.console.exception.ReportDesignException: Report data has expired,can not do preview.”這樣的錯(cuò)誤提示,表示存放于session中的正在設(shè)計(jì)器中設(shè)計(jì)的報(bào)表模版已經(jīng)失效,不能預(yù)覽。但如果_u的值是一個(gè)具體的報(bào)表名稱,則不存在這種問題,只有正在設(shè)計(jì)器中設(shè)計(jì)的報(bào)表模版在預(yù)覽中采用了這種機(jī)制,這點(diǎn)需要注意。

如果預(yù)覽的不是正在設(shè)計(jì)器中設(shè)計(jì)的模版,那么只需要給出具體的報(bào)表名稱即可,需要注意的是,這里的報(bào)表名稱要以其ReportProvider中要求的前綴開始,比如http://localhost:8080/ureport2-demo/ureport/preview?_u=file:test.ureport.xml等。

在線打印:在UReport2的報(bào)表預(yù)覽頁面中,可以看到UReport2提供了三種在線打印方式,分別是直接HTML打印、直接PDF打印以及PDF在線預(yù)覽打印。這其中直接HTML打印是利用瀏覽器的HTML打印功能實(shí)現(xiàn),能用于普通的A4紙類型報(bào)表頁面的打印,同時(shí)它不能打印出報(bào)表中定義的頁眉頁腳,如果有定義的話。對于直接PDF打印以及PDF在線預(yù)覽打印是服務(wù)端向?yàn)g覽器中寫入PDF流,利用Chrome、Firefox、Edge這些瀏覽器可以在線顯示PDF功能實(shí)現(xiàn)的打印,這種是直接打印的PDF,所以可以應(yīng)付各種復(fù)雜報(bào)表紙張類型的打印輸出。

Firefox預(yù)覽PDF:在預(yù)覽PDF時(shí),Firefox不允許當(dāng)前frame外通過javascript調(diào)用其打印功能(目前來看可能是Firefox的Bug),所以我們需要手工點(diǎn)擊其frame內(nèi)部自帶的打印按鈕實(shí)現(xiàn)打印。

在代碼中使用報(bào)表

在UReport2當(dāng)中,我們可以使用ExportManager實(shí)現(xiàn)在業(yè)務(wù)代碼中導(dǎo)出各種類型的報(bào)表,ExportManager接口源碼如下:

package

因?yàn)镋xportManager接口實(shí)現(xiàn)是配置在Spring當(dāng)中,所以要使用ExportManager接口,我們需要首先通過Spring的ApplicationContext取到ExportManager實(shí)例對象,我們可以通過ExportManager.BEAN_ID來取到對應(yīng)的Bean實(shí)例。

以下測試如何采用ExportManager導(dǎo)出HTML報(bào)表,并將報(bào)表內(nèi)容嵌入到一個(gè)JSP中。 首先需要采用報(bào)表設(shè)計(jì)器設(shè)計(jì)好一個(gè)報(bào)表模版文件,將其保存,比如報(bào)表模版保存后的文件名為demo.ureport.xml,然后在項(xiàng)目中創(chuàng)建一個(gè)JSP(這里之所以選擇JSP,是因?yàn)樗顬楹唵?#xff0c;可以保證所有的J2EE開發(fā)者都能看懂,實(shí)際使用時(shí)可能是MVC框架、Ajax等,但如果了解了在JSP中用法,其它的就簡單了),在JSP中輸入相應(yīng)代碼,導(dǎo)出Html報(bào)表,并將其寫入到JSP中,完整的JSP源碼如下:

預(yù)覽:http://localhost:8084/ureport/preview?_u=file:hhhhh.ureport.xml

在SSM配置基礎(chǔ)上添加相應(yīng)的jsp文件,完成配置啟動服務(wù)器訪問測試:

http://localhost:8084/custom/report/page/other?url=report/testReport

考慮實(shí)際業(yè)務(wù)整合問題:

數(shù)據(jù)源配置問題

總結(jié)

以上是生活随笔為你收集整理的水晶报表 jar包版本过低_工具类学习-UReport报表设计器整合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

亚洲欧美国产精品va在线观看 | 色婷婷亚洲精品 | 亚洲精品国偷拍自产在线观看 | 涩涩爱夜夜爱 | 久久久国产在线视频 | 国产美女视频网站 | 91免费网站在线观看 | 国产高清免费视频 | 热久久影视 | 超碰在线网 | 狠狠干夜夜操天天爽 | 国产小视频在线看 | 日韩欧美一区二区三区在线观看 | 少妇精品久久久一区二区免费 | 深夜激情影院 | 在线免费观看国产精品 | 四虎影视精品永久在线观看 | 美女又爽又黄 | 日韩av免费一区 | 超碰人人超 | 中文字幕在线中文 | 欧美日韩精品影院 | 亚洲成人xxx | 中文字幕在线观看完整版电影 | 97色婷婷人人爽人人 | 2018亚洲男人天堂 | 亚洲干| 欧美日韩国产伦理 | 成人av直播| 午夜影视剧场 | 波多野结衣网址 | 探花视频免费在线观看 | 超碰97免费 | 成年人看片 | 九九九热精品免费视频观看 | 在线观看成人av | 天堂网在线视频 | www.久久com| 免费视频91 | 国产福利av在线 | 日韩精品久久久久久久电影99爱 | 安徽妇搡bbbb搡bbbb | 99视频免费在线观看 | 国产精品精品国产婷婷这里av | 亚洲男女精品 | 国产永久免费高清在线观看视频 | 亚洲高清久久久 | 在线免费试看 | 国产精品久久99综合免费观看尤物 | 久久久久区| 丁香六月婷婷开心婷婷网 | 日韩中文字幕视频在线 | 免费国产一区二区 | 五月婷影院 | 四虎在线影视 | 国产一区精品在线 | 亚洲国产无| 天天艹天天爽 | 国产成人久久精品77777 | 色婷婷亚洲综合 | 久久免费视频播放 | 深爱婷婷 | 免费一级片视频 | 黄色性av| 丁香六月婷婷开心婷婷网 | 丁香婷婷亚洲 | 日韩系列在线观看 | 国产99久久久国产精品免费看 | 精品欧美一区二区精品久久 | 日韩精品久久久免费观看夜色 | 夜夜视频 | 中文不卡视频 | 丁香激情五月 | 天天摸夜夜添 | 不卡视频国产 | 久久国产精品视频 | 一区二区中文字幕在线 | 久久精品视频中文字幕 | 亚洲国产片| 欧美日韩国产xxx | 亚洲一区二区三区四区在线视频 | 精品在线你懂的 | 亚洲欧美婷婷六月色综合 | 不卡中文字幕在线 | 午夜精品久久久久久久久久久久久久 | 国产精品久久久久影院 | 蜜臀av夜夜澡人人爽人人 | 99精品视频在线观看 | 日本在线观看一区二区三区 | 国产黄在线看 | 国产成在线观看免费视频 | 99精品一级欧美片免费播放 | 亚洲第一区精品 | 极品美女被弄高潮视频网站 | 手机在线看永久av片免费 | a电影在线观看 | 午夜999 | 国产精品视频不卡 | 国产精品永久免费 | 在线观看国产麻豆 | av久久在线 | 亚洲视频第一页 | 久久精品一区二区三区中文字幕 | 中文字幕 国产 一区 | 在线视频日韩一区 | 色综合在 | 日韩激情三级 | 日韩电影在线看 | 亚洲美女精品 | 国产精品青草综合久久久久99 | 91视频高清免费 | 国产免费黄视频在线观看 | 黄色a在线 | 国产高清专区 | 成人黄色av网站 | 色综合久久久久综合 | 操久在线 | 韩国一区二区三区视频 | 日本成人免费在线观看 | 一区二区三区在线免费观看视频 | 精品国产一区二区三区久久久 | 国产精品女人久久久久久 | 亚洲精品网页 | 国产青春久久久国产毛片 | 久久久久国产一区二区三区 | 中文字幕网址 | 日本中文乱码卡一卡二新区 | 一区二区中文字幕在线观看 | 337p日本大胆噜噜噜噜 | 成人av亚洲 | 夜夜高潮夜夜爽国产伦精品 | 久久久久久久国产精品影院 | 久久精品综合网 | 中文字幕中文字幕在线中文字幕三区 | 久久国产精品一区二区 | 一区二区av| 久久99九九99精品 | 久久国产二区 | 黄a在线观看 | 久久综合导航 | 欧美日韩高清一区二区三区 | 超碰人人99 | 日韩av一区二区在线播放 | 综合网婷婷 | 在线免费视频 你懂得 | 久久成人午夜 | 在线 高清 中文字幕 | 日韩中文在线字幕 | 久久av免费 | 国产视频2021| 粉嫩一区二区三区粉嫩91 | 91福利区一区二区三区 | 激情久久久久久久久久久久久久久久 | 精品国产视频在线观看 | 91丨porny丨九色 | 人人澡人 | 午夜视频在线网站 | 综合久久久久久久久 | 最新免费av在线 | 国产麻豆果冻传媒在线观看 | 精品国产一区二区三区久久久 | 国产精品久久久久久久久久ktv | 97免费 | 午夜久久网站 | 五月天丁香亚洲 | 精品久久久久久久久久久久 | 黄色视屏在线免费观看 | 免费男女网站 | 久久精品国产一区二区三 | 狠狠色网| 国产裸体永久免费视频网站 | 激情影院在线观看 | 中文字幕韩在线第一页 | 国产一卡二卡四卡国 | 特级西西人体444是什么意思 | 伊人狠狠色丁香婷婷综合 | 色a综合 | 韩国精品视频在线观看 | 国产精品系列在线 | 91av电影在线观看 | 亚州天堂| 色播五月婷婷 | 黄av资源 | 91精品国产乱码 | 男女拍拍免费视频 | 人人澡澡人人 | 国产精品久久久久久五月尺 | 婷婷六月天综合 | 亚洲国产大片 | 久久九九九九 | 91av在线国产 | 亚洲综合成人婷婷小说 | 日韩精品一区二区三区免费观看 | 久久www免费人成看片高清 | 日韩色爱 | 97在线视频免费播放 | 成人免费观看网址 | 天天拍天天操 | 日本夜夜草视频网站 | av一区二区三区在线播放 | 天堂av网在线 | 久 久久影院 | 五月天激情综合 | 午夜精品一区二区三区四区 | 成人国产亚洲 | 国内精品久久久久久久影视麻豆 | 国产精品无av码在线观看 | 精品亚洲一区二区三区 | 久久成人资源 | 97视频免费看 | 免费色网 | 成人午夜在线电影 | 日韩中文在线播放 | 美女性爽视频国产免费app | 国产不卡精品 | 国内精品久久久久久中文字幕 | 日本黄区免费视频观看 | 天堂av官网 | 午夜成人免费电影 | 天天色天天操天天爽 | 麻豆超碰 | 国产天天爽 | 久久久91精品国产一区二区三区 | 国产精品电影一区二区 | 丁香综合av | 日韩精品一区二区免费 | 国产亚洲精品电影 | 夜夜躁日日躁狠狠久久88av | 中文字幕在线一区二区三区 | 粉嫩av一区二区三区四区在线观看 | 国产五码一区 | 欧美久久久久久久久久久 | 天天撸夜夜操 | 免费在线观看日韩视频 | 成人h在线 | 亚洲砖区区免费 | 九色视频网| 久章操| 91精品久久久久久久99蜜桃 | 久久99久久精品 | 日三级在线 | 久久a热6 | 96国产精品视频 | 超碰人人舔 | 综合在线观看 | 国产日产av| 午夜在线国产 | 在线 成人 | 韩日三级在线 | av色影院| 色久综合| 免费高清在线观看成人 | 午夜久久福利影院 | av高清在线 | 久久精久久精 | 国产资源免费 | 成人xxxx | 欧美 亚洲 另类 激情 另类 | 久草在线免费色站 | 特级毛片网 | 99视频精品全部免费 在线 | 999视频网站 | 日韩av一区二区在线影视 | 亚洲精品视频在 | 在线a视频 | 亚洲最大激情中文字幕 | 色综合天天爱 | 免费看成人av | 中文字幕日韩有码 | 国产一在线精品一区在线观看 | 欧美大香线蕉线伊人久久 | 久久免费资源 | 天天弄天天干 | 欧美精品乱码久久久久久按摩 | 天天色天天射综合网 | 欧美在线aaa| 国产精品字幕 | 天天综合网天天 | 亚洲成av人片| 在线综合 亚洲 欧美在线视频 | 在线观看久久久久久 | 亚洲一区二区三区四区精品 | 欧美日韩高清一区二区 国产亚洲免费看 | 天天曰 | 最近日韩免费视频 | 国产精品嫩草影院99网站 | 日韩区欠美精品av视频 | 日韩欧美视频在线 | 97av超碰 | 91久久影院| 亚洲禁18久人片 | 久久人人爽人人爽人人片av免费 | 成人久久久久久久久 | 成人一区二区在线 | 91精品久久久久久久久久入口 | 丁香网婷婷 | 99中文视频在线 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 久久综合狠狠综合久久综合88 | 久久久久久国产精品 | 天天操天天爱天天干 | 久久国产精品免费观看 | 久久久久国 | 天天干天天爽 | 国产无套精品久久久久久 | 高清日韩一区二区 | 欧美一级xxxx | 日韩免费播放 | 国产精品免费不 | 日本三级不卡视频 | 婷婷色中文网 | 久久国产视屏 | 在线免费观看黄色小说 | 亚洲视频在线免费看 | 国产精品久久久久久高潮 | 国产三级国产精品国产专区50 | ,午夜性刺激免费看视频 | 最近更新的中文字幕 | 日韩欧美99| 成年人在线免费看片 | 日韩专区一区二区 | 欧美成人精品在线 | 伊人官网 | 精品91视频 | 精品一区二区免费 | 亚洲久在线| 一区二区影视 | 婷婷 中文字幕 | 婷婷丁香色 | 日本中文字幕在线电影 | 中文字幕免费久久 | 婷婷婷国产在线视频 | 天天干天天射天天爽 | 久草在线视频首页 | 亚洲精品国精品久久99热一 | 国产 日韩 欧美 在线 | 成人精品视频 | 亚洲欧美视频一区二区三区 | 欧美日韩69 | 91香蕉久久 | 亚洲人成免费网站 | 久久综合综合久久综合 | 国产69久久精品成人看 | 深夜免费小视频 | 亚洲日本激情 | 一区二区三区在线电影 | 99久久婷婷国产综合亚洲 | 欧美韩日在线 | 亚洲黄色小说网址 | 亚洲综合网 | 一区二区三区三区在线 | 六月丁香色婷婷 | 久久a久久 | 五月天亚洲婷婷 | 欧美另类重口 | 69国产盗摄一区二区三区五区 | 99国产精品免费网站 | 国产精品系列在线播放 | 亚洲午夜久久久影院 | 日韩在线免费高清视频 | 免费久久99精品国产婷婷六月 | 久久久久成人免费 | 中国老女人日b | 国产破处视频在线播放 | 国产九九九精品视频 | 天堂av网站 | 国产成人精品免高潮在线观看 | 亚洲精品久久久久中文字幕二区 | 国产传媒中文字幕 | 成人av手机在线 | 国产精品精品久久久久久 | 日韩av手机在线观看 | 成人精品福利 | 91日韩在线| 黄色三级在线 | 国产超碰97 | 9在线观看免费高清完整版 玖玖爱免费视频 | 中文字幕在线观看视频网站 | 天天操夜夜操夜夜操 | 久久不卡电影 | 激情黄色av | 免费在线一区二区 | 欧美a级片免费看 | 久久一区国产 | 久草国产在线观看 | 深爱开心激情 | 国产亚洲成人网 | 亚洲激情 欧美激情 | 中文字幕丝袜美腿 | 不卡av在线 | 久久精品亚洲 | 日韩av一卡二卡三卡 | 免费日韩一区二区三区 | www.av小说| 人人干在线 | 久久国产免费视频 | av在线在线| 国产视频精选 | 99精品免费| 中文字幕欧美日韩va免费视频 | 亚洲电影图片小说 | www.色就是色 | 欧美精品中文在线免费观看 | 亚洲国产日韩欧美 | 波多野结衣电影久久 | 国产欧美在线一区 | 国产成人精品av在线 | 国产精品综合在线观看 | 国产精品久久久久9999吃药 | 久草视频在线资源站 | www.狠狠干 | 岛国av在线 | 国产黄大片在线观看 | 免费在线观看av | 成人黄色电影在线播放 | 国产高清视频网 | 婷婷av色综合 | 成人国产一区二区 | 成人黄色小说在线观看 | 亚洲精品午夜一区人人爽 | 麻豆视频在线免费看 | 国产精品美女久久久 | 大片网站久久 | 日韩毛片在线播放 | 国产精品18videosex性欧美 | 久久r精品 | 成人黄色在线播放 | 日韩精品在线免费观看 | 日韩在线视频免费播放 | adc在线观看| 国产色在线 | www黄免费| 欧美极品少妇xbxb性爽爽视频 | 一区二区电影在线观看 | 亚洲精品在线免费观看视频 | 91久久国产自产拍夜夜嗨 | 天天操天天干天天玩 | 五月天激情电影 | 欧美福利网址 | 成人黄色小说网 | 久久一二区 | 欧美激情综合五月 | 精品久久网 | 国产福利一区二区三区在线观看 | 高清不卡免费视频 | 亚洲免费专区 | 美女视频黄频大全免费 | 日韩精品在线看 | 人人爽人人爽人人 | 99在线视频观看 | 国内视频一区二区 | 久久在现| 中文字幕久久精品亚洲乱码 | 久久99国产一区二区三区 | 欧美成人在线免费 | 日日夜夜精品视频天天综合网 | av成人在线看 | 色中文字幕在线观看 | 91在线蜜桃臀 | 网站在线观看日韩 | 日韩有码网站 | 日韩黄色一区 | 欧美成a人片在线观看久 | 狠狠色丁香婷婷综合 | 偷拍区另类综合在线 | 国产一区久久 | 中文成人字幕 | 五月天激情视频在线观看 | av高清不卡 | 欧美日韩午夜爽爽 | avcom在线| 手机av在线不卡 | 一区在线电影 | 亚洲精品乱码久久久久久9色 | 免费在线观看av网站 | 精品国产电影一区二区 | 久草在线综合 | 精品国产一区二 | 欧美在线观看视频 | 夜夜狠狠 | 91精品久久久久久久99蜜桃 | 69久久久久久久 | 成人黄色毛片 | 欧美一级免费高清 | 成人污视频在线观看 | 中文字幕精品久久 | 久久99热国产 | 国产在线视频不卡 | 人人爽人人爽人人爽 | 久久久免费少妇 | 黄色大全视频 | 欧美激情精品久久久久久免费 | 婷婷国产v亚洲v欧美久久 | 精品国产免费av | 色婷婷狠 | 久久亚洲精品电影 | 狠狠操综合网 | 视频一区二区免费 | 99爱精品在线 | 精品国产欧美 | 日韩电影在线看 | 日日操网 | 国产特级毛片aaaaaa毛片 | 国产精品久久麻豆 | 五月激情天 | 日韩区视频 | 在线免费高清一区二区三区 | 成人h动漫精品一区二 | www黄色大片 | a特级毛片 | 日本成人中文字幕在线观看 | 久久精品国产精品 | 久久99精品国产91久久来源 | 亚洲精品国偷自产在线99热 | 最新国产视频 | 日韩电影黄色 | 欧美日韩免费一区二区 | 国产精品成人久久久久久久 | 啪一啪在线 | 欧美少妇bbwhd | 国产成人精品一区二 | 中文字幕在线视频第一页 | 国产精品免费大片视频 | 午夜影院一级片 | 91手机视频在线 | 国产精品美女久久久免费 | 日韩a欧美 | 欧美成人h版在线观看 | 91欧美视频网站 | 国产手机视频在线播放 | 亚洲最大av | www天天干 | 激情丁香综合 | 色噜噜噜噜 | 亚洲综合丁香 | 久久久久女人精品毛片 | 91精品国产91 | 中文字幕一区二区三区在线视频 | 中文字幕在线观看播放 | 日韩99热 | 97视频免费在线 | 在线97| 五月婷婷丁香六月 | 日韩欧美在线视频一区二区 | 91一区二区三区在线观看 | 亚洲第一中文网 | 国产专区欧美专区 | 国产精品video爽爽爽爽 | 成年人在线观看免费视频 | 日韩av电影免费观看 | 国产精品久久99精品毛片三a | 夜夜爽88888免费视频4848 | 在线观看麻豆av | 91精品视频在线看 | 激情 婷婷 | 99在线观看精品 | 国产精品一区二区av日韩在线 | 五月婷婷香蕉 | 偷拍视频一区 | 国产不卡免费 | 国产精品久久久久久久久久久不卡 | 欧美日韩中文字幕视频 | 免费看久久| 国产在线理论片 | 91av原创 | 激情欧美日韩一区二区 | 欧美日韩18 | 亚洲理论片在线观看 | 久久久久99999 | 欧美最猛性xxx | 激情久久小说 | 成人在线超碰 | 一区在线免费观看 | 狠狠干2018| 久草视频在线新免费 | 国产91精品高清一区二区三区 | 国产打女人屁股调教97 | 国产成人61精品免费看片 | 91视频三区 | 欧美色综合 | 99久高清在线观看视频99精品热在线观看视频 | 久久久高清免费视频 | 天天摸日日摸人人看 | 久久这里只有精品首页 | 一级黄毛片 | 成人a在线观看高清电影 | 日韩视频在线播放 | 天天插天天射 | 久久久久区 | 91精品啪在线观看国产线免费 | 亚洲欧美在线视频免费 | 狠狠色丁婷婷日日 | 欧美另类激情 | 精品在线免费观看 | av不卡在线看 | www.日本色| 伊人伊成久久人综合网小说 | 人人干人人艹 | 中文av影院 | 97精品国产| 四虎免费在线观看 | 国产欧美精品在线观看 | av电影一区二区三区 | 男女啪啪视屏 | 超碰日韩 | 日本超碰在线 | 久久免费毛片视频 | 日日夜夜噜| 成人黄色大片在线观看 | 欧美日韩国产三级 | 久99久久| 在线免费观看黄色av | 国产精品免费一区二区 | 久久观看最新视频 | 久久综合久久综合久久 | 91爱看片| 夜夜操天天干 | japanesexxxhd奶水 国产一区二区在线免费观看 | 天堂网一区 | 99视频精品 | 亚洲激情av | 99 精品 在线 | 精品一区二三区 | 99精品视频在线播放免费 | 亚洲黄色在线观看 | 伊人小视频 | 尤物97国产精品久久精品国产 | 国产成人在线一区 | 不卡的av在线播放 | 亚洲精品国产品国语在线 | 国产一区在线视频 | 天天草天天干 | 久久久久99精品国产片 | 国产九九精品视频 | 五月婷婷在线观看 | 天天操夜夜操天天射 | 91在线视频在线 | 婷婷在线播放 | 天天看天天干 | 在线看日韩av | 国产一级片网站 | 国产成人精品一二三区 | 久久精品中文字幕少妇 | 久久久人人人 | 91成人在线视频 | 亚洲精品久久久久www | 日韩视频1区 | 黄色大片中国 | 悠悠av资源片 | 视频高清| 亚洲激情在线观看 | 中文字幕av一区二区三区四区 | 日韩精品一区二区免费视频 | 欧美日韩视频在线观看一区二区 | 亚洲精选在线观看 | 手机看片1042| 亚洲精品字幕在线 | 91视频 - 88av| 在线观看av的网站 | 麻豆激情电影 | 国产专区精品 | 国产精品久一 | 亚洲精品午夜久久久 | 丁香狠狠| av电影中文字幕 | 91一区啪爱嗯打偷拍欧美 | 中文字幕在线影院 | 天天曰夜夜爽 | 久久免费公开视频 | 国产精品日韩久久久久 | 国产精品久久久 | 欧美日韩久久不卡 | 一区二区三区视频网站 | 日韩av美女 | 久久精品中文字幕 | 免费又黄又爽 | 成年人在线播放视频 | 国产99区 | 美女久久久久久久 | 五月天色丁香 | 最新黄色av网址 | 中文字幕在线播放av | 国产精品久久久久久久久久妇女 | 97碰碰视频 | 亚洲dvd| 久久综合九色欧美综合狠狠 | 97av影院 | 日韩av一区二区在线播放 | 综合精品久久久 | 狠狠久久伊人 | 天海翼一区二区三区免费 | 人九九精品 | 六月婷婷久香在线视频 | 狠狠操综合 | 成人wwwxxx视频 | 亚洲欧洲美洲av | 国产成人av免费在线观看 | 在线看av网址 | 国产在线播放一区 | a极黄色片 | 国产视频69 | 国产一级精品在线观看 | 噜噜色官网 | 天天色宗合 | 日韩av不卡播放 | 在线观看色视频 | 怡红院成人在线 | 去干成人网| 欧美一区二区三区四区夜夜大片 | 久久国产精品影视 | 日韩一级成人av | 亚洲国产精品免费 | 91看片在线免费观看 | 综合色天天 | 天天干天天操天天射 | 国产色小视频 | 亚洲一区二区三区毛片 | 一区二区伦理 | 亚洲国产片 | 亚洲成人av影片 | 婷婷夜夜 | 中文字幕有码在线播放 | 色九色| 日韩在线视频国产 | 在线播放国产一区二区三区 | 亚洲毛片久久 | 欧美性黄网官网 | 99视频网站 | 国产成人精品一二三区 | 正在播放国产一区 | 成人免费看电影 | 成人福利av | 日韩黄色免费 | 黄色av影视 | 99高清视频有精品视频 | 国产精品久久久视频 | 91字幕| 在线观看91av | 国产精品岛国久久久久久久久红粉 | 超碰97av在线 | 一区二区三区精品在线 | 伊人五月婷 | 亚洲精品午夜国产va久久成人 | 美女av电影 | 最新日韩视频 | 99久高清在线观看视频99精品热在线观看视频 | www.天天综合 | 九九视频在线观看视频6 | 国产精品视频在线看 | 国产原创av在线 | av在线播放中文字幕 | 人人干天天干 | 久久久综合电影 | 天天射综合网视频 | 99热这里是精品 | 亚洲视频中文 | 一区二区三区在线视频111 | 日韩夜夜爽 | 国产精品欧美一区二区三区不卡 | 日韩激情网 | 在线播放av网址 | 视频在线观看一区 | 成人免费中文字幕 | 亚洲综合色视频在线观看 | 在线观看免费视频你懂的 | 国产黄在线观看 | 91麻豆精品国产自产在线游戏 | 一区 二区 精品 | 国产手机av| 亚洲精品美女久久 | 99精品一级欧美片免费播放 | 97在线观看免费高清完整版在线观看 | 国产一区二区不卡视频 | 亚洲一区二区麻豆 | 亚洲国产合集 | 国产精品福利在线 | 91麻豆精品国产91久久久使用方法 | 国产精品免费在线视频 | 国产一区在线不卡 | 日韩中文字幕在线观看 | av中文字幕免费在线观看 | 天天插视频 | 区一区二区三区中文字幕 | 日日夜夜中文字幕 | 91麻豆精品国产自产 | 亚洲2019精品 | 国产精品热 | 九九视频免费观看视频精品 | 久草在线资源免费 | 欧美激情奇米色 | 国产毛片久久久 | 亚洲欧美日韩精品一区二区 | 色综合人人 | 久久成人一区二区 | 欧美性色综合网站 | 亚洲免费在线观看视频 | 国产一二三四在线观看视频 | 日韩欧美综合视频 | 日本黄色黄网站 | 99视频| 能在线看的av | 中文字幕制服丝袜av久久 | www.久久久.com| 成人蜜桃 | 成人va在线观看 | 深夜男人影院 | 欧美一二三视频 | 色婷婷综合久久久 | 热精品 | 国产精品久久久久久久久久ktv | 999视频精品 | 欧美久久久久久久 | 一区二区三区www | 99色视频| 亚洲精品国偷拍自产在线观看蜜桃 | 久久久精品国产一区二区 | 欧美精品免费一区二区 | 久久久久激情视频 | 国产精品视频永久免费播放 | 五月婷婷网站 | 黄色中文字幕在线 | 亚洲国产精品成人va在线观看 | 国产在线观看高清视频 | 日韩字幕 | 亚洲精品久久在线 | 国产一线二线三线性视频 | 麻豆91在线看 | 天天干天天操天天入 | 五月天中文字幕mv在线 | 超碰在线资源 | 欧美性色综合 | 黄p在线播放| 亚洲人片在线观看 | 色吧久久 | 久久久久久久久久久久影院 | 成人免费在线观看av | www日日| 69视频永久免费观看 | 国精产品999国精产 久久久久 | 91重口视频| 日韩av在线免费播放 | 久久电影日韩 | 91在线免费视频 | 天天综合网国产 | 久久久亚洲精品 | 男女精品久久 | 精品国产理论片 | 这里有精品在线视频 | 婷婷射五月 | 97激情影院 | 99视频黄| 久久免费久久 | 久久久www成人免费毛片 | 97在线精品视频 | 麻豆精品传媒视频 | 国产亚洲成av人片在线观看桃 | 日韩欧美在线观看一区二区 | 欧美久久久久久久久久久久 | 欧美日韩三级在线观看 | 午夜精品久久久久久久爽 | 五月黄色 | 国产亚洲视频中文字幕视频 | 日韩高清免费无专码区 | 免费看毛片网站 | 91最新中文字幕 | 免费观看丰满少妇做爰 | 国产国语在线 | 中文字幕在线视频精品 | 国产不卡高清 | 久久午夜免费视频 | 日韩美在线 | 精品女同一区二区三区在线观看 | 一区二区三区日韩在线 | 色婷婷激情四射 | 在线之家免费在线观看电影 | 亚洲四虎 | 日韩在线电影一区二区 | 精品久久片 | 日本亚洲国产 | 手机色在线 | 成人av网页| 亚洲精品短视频 | 天天操比 | www.超碰| 色欧美成人精品a∨在线观看 | 婷婷午夜激情 | 亚洲黄在线观看 | 精品一区二区6 | 色综合中文综合网 | www国产亚洲精品久久麻豆 | 水蜜桃亚洲一二三四在线 | 国产精品久久久久久999 | 超碰在线色 | 欧美日韩不卡一区 | 精品五月天 | 久久av免费观看 | av国产网站 | 色综合久久综合中文综合网 | 成 人 黄 色 视频 免费观看 | 高清久久久久久 | 亚洲va在线va天堂 | 午夜国产一区 | 亚洲视频 视频在线 | 成年人视频在线免费播放 | 国产一级免费观看 | 成人在线观看av | 午夜精品视频一区二区三区在线看 | 免费观看av网站 | 成年一级片 | 色婷婷激情四射 | 啪啪小视频网站 | 97视频在线免费观看 | 中文字幕国产在线 | 久草在线资源观看 | 色婷久久 | 久久大片网站 | 成年人看片网站 | 亚洲国产精品成人av | 国产亚洲精品久久久久秋 | 在线免费观看黄色 | 久久国产品| 天天操天天爱天天爽 | 在线看不卡av | 五月激情天 | 日本激情视频中文字幕 | 在线免费观看视频一区二区三区 | 99久久这里有精品 | 久久99影院 | 国产精品美女久久久久久久网站 | 日韩在线理论 | 日韩a欧美 | 日韩欧美网站 | 麻花豆传媒mv在线观看网站 | 午夜视频在线观看网站 | 人人舔人人射 | 日韩乱色精品一区二区 | 超碰97国产在线 | 日本久久综合视频 | 精品国产一区二区三区噜噜噜 | 国产日韩在线观看一区 | 亚洲黄色免费网站 | 永久免费毛片在线观看 | 色网站中文字幕 | 色综合天天做天天爱 | 国产精品mm | 美女视频黄频大全免费 | 亚洲日本中文字幕在线观看 | 国产一区视频在线 | 国产精品久久久久久久电影 | 亚洲更新最快 | 亚洲精品久久久蜜桃直播 | 日韩网站在线 | 国产一区国产精品 | 色婷婷播放 | 国产亚洲久一区二区 | 五月天激情开心 | 欧美精品久 | 天天干天天拍天天操天天拍 | 日韩久久精品一区二区 | 色成人亚洲网 | 91麻豆精品国产自产在线游戏 | 在线亚州 | 中文字幕 二区 | 欧美日韩一区二区视频在线观看 | 久久影院亚洲 | 在线观看中文字幕第一页 | 香蕉免费在线 | 国产三级久久久 | www免费看片com| 婷婷精品视频 | 久久理论电影 | 久久综合偷偷噜噜噜色 | 丁香花在线视频观看免费 | 天天看天天干 | 国产成人久久精品一区二区三区 | 久久亚洲国产精品 | 九九九电影免费看 | 激情久久五月 | 日日夜夜人人天天 | 九九九在线观看视频 | 国产精品亚洲精品 | 2022国产精品视频 | 国产免费二区 | av久久在线 | 国产色网站| 色5月婷婷 | 国产成人在线观看 | 黄色av三级在线 | 亚洲综合导航 | 麻豆av一区二区三区在线观看 | 久久人人爽人人人人片 | 国产专区视频 | 在线免费国产视频 | 色综合久久久久综合体 | 综合国产在线观看 | 亚洲精品美女在线 | 玖玖爱免费视频 | 久久观看最新视频 |