1.電商基于soa架構(gòu),使用dubbo逆向工程分頁插件完成商品查詢源碼03筆記_第1頁
1.電商基于soa架構(gòu),使用dubbo逆向工程分頁插件完成商品查詢源碼03筆記_第2頁
1.電商基于soa架構(gòu),使用dubbo逆向工程分頁插件完成商品查詢源碼03筆記_第3頁
1.電商基于soa架構(gòu),使用dubbo逆向工程分頁插件完成商品查詢源碼03筆記_第4頁
1.電商基于soa架構(gòu),使用dubbo逆向工程分頁插件完成商品查詢源碼03筆記_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

[今日課程大綱]

項目介紹開發(fā)環(huán)境搭建

完成

商品查詢

[知識點詳解]

一.

項目介紹

行業(yè)的幾種模式.

1.

1.1B2B:企業(yè)到企業(yè),商家到商家。代表:阿里巴巴、

網(wǎng)。

1.2B2C:商家到客戶。代表:京東、淘寶商城(B2B2C)。

1.3C2C:客戶到客戶。淘寶集市。

1.4O2O:線上到線下。

2.技術(shù)選型

2.1Spring、SpringMVC、Mybatis

2.2JSP、JSTL、jQuery、jQueryplugin、EasyUI、KindEditor(富文本

編輯器)、CSS+DIV

2.3Redis(緩存服務器)

2.4Solr(搜索)

2.5Dubbo(調(diào)用系統(tǒng)服務)

2.6

2.7Nginx(web服務器)

2.8jsonp跨域數(shù)據(jù)請求格式

2.9nexus

maven

2.10MyBatis逆向工程

2.11HttpC nt 使用java完成請求及響應的技術(shù).

分庫分表技術(shù)

2.12MyCat

3.開發(fā)工具和環(huán)境

3.1Eclipsemars

3.2Maven3.3.3

3.3Tomcat7.0.79(MavenTomcatPlugin)

3.4JDK1.7

3.5

5.7

3.6Nginx1.8.0

3.7Redis3.0.0

3.8Win7操作系統(tǒng)

3.9Linux(服務器系統(tǒng))

配置

4.

4.1產(chǎn)品經(jīng)理:3人,確定需求以及給出產(chǎn)品原型圖。

4.2項目經(jīng)理:1人,項目管理。

4.3前端團隊:5人,根據(jù)產(chǎn)品經(jīng)理給出的原型制作靜態(tài)頁面。

4.4后端團隊:20人,實現(xiàn)產(chǎn)品功能。

4.5測試團隊:5人,測試所有的功能。

4.7運維團隊:3人,項目的發(fā)布以及

。

5.項目周期:

6個月

5.1

6.整個

結(jié)構(gòu)圖

7.基于SOA架構(gòu)

redis

二.數(shù)據(jù)庫準備和逆向工程

1.直接運行SQL

.

2.使用逆向工程生成mapper和pojo

三.搭建maven環(huán)境

1.為什么使用Nexus搭建maven

的作用)

(

開發(fā)成員沒有

,通過局域網(wǎng)連接nexus

,由私

1.1

服連接

dub ervice-impl

Dub ervice

redis

pojo

ord

manage

assport

commons

cart

item

search

portal

parent

1.2把項目發(fā)布到

.其他

.

2.使用

之后架構(gòu)圖

倉庫

maven項目

nexus

3.搭建nexus的步驟

3.1nexus-2.12.0-01-bundle.zip解壓到任意非中文目錄中

3.2修改nexus端口(默認8081)

3.2.1nexus-2.12.0-01\conf\perties

3.3粘貼索引庫(不配置無法搜索)

3.3.1先清空sonatype-work\nexus\indexer\central-ctx

內(nèi)容

3.3.1把解壓后的索引文件粘貼到這個文件夾中

3.4進入nexus-2.12.0-01\bin\jsw\windows-x86-64(對應自己系統(tǒng))

3.4.1install-nexus.bat安裝服務

3.4.2start-nexus.bat開啟服務

3.4.3stop-nexus.bat停止服務

3.4.4uninstall-nexus.bat卸載服務

3.5在瀏覽器輸入

3.6點擊右側(cè)login,輸入用戶名:admin,

:admin123

3.7在左側(cè)搜索框中輸入artifactid測試是否配置成功

4.使用maven連接

4.1前提:把maven環(huán)境搭建,并設置userssettings

settings.xml

4.2在settings.xml配置

4.2.1本地倉庫路徑

4.2.2配置jdk

< >

<id>jdk-1.7</id>

<activation>

<activeByDefault>true</activeByDefault>

<jdk>1.7</jdk>

</activation>

profile

<localRe itory>D:/maven/myre itory</localRe ito

>

ry

4.2.3配置

構(gòu)建(連接

用的到jar等內(nèi)容)

<profile>

<id>nexusTest</id>

<re itories>

<re itory>

<id>local-nexus</id>

<url>c/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<properties>

< piler.source>1.7< piler.source>

< piler. >1.7< piler. >

< pilerVer >1.7< piler

.compilerVer

</properties>

</ >

profile

4.2.4配置讓

構(gòu)建生效

nexusTest上面<profile>的<id>

4.2.5配置鏡像,maven連接

<mirror>

<id>nexus-releases</id>

<mirrorOf>*</mirrorOf>

<url>c</url>

</mirror>

<mirror>

<id>nexu apshots</id>

<mirrorOf>*</mirrorOf>

<activeProfiles><!--激活id為nexusTest的profile-->

<activeProfile>nexusTest</activeProfile>

</activeProfiles>

<enabled>true</enabled>

</snapshots>

</re

</re itories>

</profile>

5.把項目發(fā)布到

的步驟

5.1在pom.xml中配置

路徑

5.2在settings.xml中配置連接

倉庫的用戶名和

5.2.1<server>中<id>和pom.xml中<re

itory>中<id>對應

< >

server

<distributionManagement>

<re itory>

<id>releases</id>

<url>es/releases</url>

</re

<snapshotRe itory>

<id>snapshots</id>

<url>

e apshots</url>

</snapshotRe

</distributionManagement>

<url>

/apache-snapshots/</url>

</mirror>

5.3右鍵項目-->runas輸入deploy

四.創(chuàng)建項目

1.創(chuàng)建六個項目

mons:放工具類等

1.1

項目

1.2ego-manage:

1.3ego-parent:父項目

1.4ego-pojo:實體類

1.5ego-service:服務接口

1.6ego-service-impl:dubbo的provider

<id>releases</id>

<username>admin</username>

<password>admin123</password>

</ >

<server>

<id>snapshots</id>

<username>admin</username>

<password>admin123</password>

</server>

server

2.把

頁面放在ego-manage/WEB-INF中

3.在ego-manage編寫控制器類

@Controller

publicclassPageController{@RequestMap ("/")publicString e(){

return"index";

}

@RequestMap ("{page}")

五.MyBatis分頁插件

1.在mybatis.xml中配置<plugin>

,在程序員所編寫的sql命令基礎

上添加一些內(nèi)容.

2.在pom.xml配置依賴

3.創(chuàng)建mybatis.xml并配置插件信息

<?xmlver ="1.0"encoding="UTF-8"?>

<!DOCTYPEconfiguration

PUBLIC"-//mybatis. //DTDConfig3.0//EN"

" ">

<!--分頁插件-->

<dependency>

<grou >com. .pagehelper</grou >

<artifactId>pagehelper</artifactId>

<ver >4.1.6</ver

</dependency>

publicStringsho ge(@PathVariableStringpage){

returnpage;

}

}

4.在applicationContext.xml中配置加載mybatis.xml

5.編寫代碼時注意:PageHelper.startPage()寫在查詢?nèi)可厦?

PageHelper.startPage(page,rows);

<!--SqlSes Factory-->

<beanid="factory"

class=" .mybatis.spring.SqlSes

<propertyname="dataSource"ref="dataSource"></property>

<propertyname="typeAliasesPackage"value="com.ego.pojo"></property>

<propertyname="configLocation"value="classpath:mybatis.xml"></property>

</bean>

<configuration>

<plugins>

<plugin

erceptor="com. .pagehelp ageHelper">

<!--告訴分頁插件是哪個數(shù)據(jù)庫-->

<propertyname="dialect"value=" "/>

</plugin>

</plugins>

</configuration>

六.實現(xiàn)商品分頁顯示功能

1.在

mons中創(chuàng)建easyuidatagrid類

1.1把所有ego-pojo中類序列化

2.在ego-service中創(chuàng)建接口

public erfaceTbItemDub ervice{

/**

商品分頁查詢

@par age

publicclassEasyUIDataGridimplementsSerializable{

//當前頁顯示數(shù)據(jù)

priva ist<?>rows;

//總條數(shù)

priva ongtotal;

//查詢?nèi)縇ist<TbItem>list=

tbItemMapper.selectByEx le(newTbItemEx le());

//分頁代碼

//設置分頁條件

PageInfo<TbItem>pi=ne geInfo<>(list);

3.在ego-service-impl編寫功能

publicclassTbItemDub erviceImplimplements

TbItemDub ervice{@Resource

privateTbItemMappertbItemMapper;@Override

publicEasyUIDataGridshow( page, rows){PageHelper.startPage(page,rows);

//查詢?nèi)縇ist<TbItem>list=

tbItemMapper.selectByEx le(newTbItemEx le());

//分頁代碼

//設置分頁條件

PageInfo<TbItem>pi=ne geInfo<>(list);

//放入到實體類

EasyUIDataGriddatagrid=newEasyUIDataGrid();

@paramrows

@return

*/

EasyUIDataGridshow( page, rows);

}

4.在ego-service-impl中applicationContext-dubbo.xml配置接口

5.編寫Test類運行dubbo服務

6.在ego-manage添加TbItemService及實現(xiàn)類

public erfaceTbItemService{

/**

顯示商品

@par age

@paramrows

publics icvoidmain(String[]args){Ma ain(args);

}

<dub ervice

erface="com.ego.dub ervice.TbItemDub ervice"

ref="tbItemDub erviceImpl"></dub ervice>

<bean id="tbItemDub

class="com.ego.dub ervice.impl.TbItemDub erviceImpl"></bean>

datagrid.setRows(pi.getList());datagrid.setTotal(pi.getTotal());returndatagrid;

}

}

7.在ego-manage里新建TbItemController

@Controller

publicclassTbItemController{@Resource

privateTbItemServicetbItemServiceImpl;

/**

*分頁顯示商品

*/

@RequestMap ("item/list")

*@return

*/

EasyUIDataGridshow( page, rows);

}

@Service

publicclassTbItemServiceImplimplementsTbItemService{@Reference

privateTbItemDub ervicetbItemDub@Override

publicEasyUIDataGridshow( page, rows){

returntbItemDub erviceImpl.sho ge,rows);

}

}

七.商品上架,下架,刪除

1.在ego-service中TbItemDub

ervice接口及實現(xiàn)類添加

2.在

mons中添加EgoResult,做為java代碼和jsp叫做公共類

/**

根據(jù)id修改狀態(tài)

@paramid

@params us

@return

*/

updItemS us(TbItemtbItem);

@Override

public updItemS us(TbItemtbItem){

return

tbItemMapper.updateByPrimaryKeySelective(tbItem);

}

@ResponseBody

publicEasyUIDataGridshow( page,

returntbItemServiceImpl.sho

}

}

3.在ego-manage的TbItemService及實現(xiàn)類添加

/**

批量修改商品狀態(tài)

@paramids

@params us

@return

*/

update(Stringids,bytes

@Override

public update(Stringids,bytes us){index=0;

TbItemitem=newTbItem();String[]idsStr=ids.split(",");for(Stringid:idsStr){

item.setId(Long.parseLong(id));item.setS us(s us);

index

+=tbItemDub erviceImpl.updItemS us(item);

}

if(index==idsStr.length){

publicclassEgoResult{

private s us;

4.在ego-manage中TbIt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論