您的位置:首页 > 其它

Smartclient+demo+实例

2013-05-02 15:21 501 查看
用实例见证smartclient的厉害吧。


[html] view
plaincopyprint?

先貼出來圖片 炫炫!很閃吧。

建表語句:

create table supplyItem(

itemID int primary key identity(1,1),

itemName varchar(300),

unitCost decimal(28,2), --55.23

SKU varchar(30),

description varchar(5000),

category varchar(128),

inStock varchar(30),

units varchar(30),

nextShipment datetime

)

--drop table supplyCategory

create table supplyCategory(

categoryName varchar(128) primary key,

parentID varchar(255),

)

demoAppJS.jsp

Jsp代碼:

<!--------------------------------------------------------------------

整合人:舒婷 *_*

---------------------------------------------------------------------->

<HTML>

<HEAD>

<TITLE>SmartClient Demo Application</TITLE>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>

<SCRIPT SRC=smartclient/modules/ISC_History.js></SCRIPT>

<SCRIPT SRC=smartclient/modules/ISC_Core.js></SCRIPT>

<SCRIPT SRC=smartclient/modules/ISC_Foundation.js></SCRIPT>

<SCRIPT SRC=smartclient/modules/ISC_Containers.js></SCRIPT>

<SCRIPT SRC=smartclient/modules/ISC_Grids.js></SCRIPT>

<SCRIPT SRC=smartclient/modules/ISC_Forms.js></SCRIPT>

<SCRIPT SRC=smartclient/modules/ISC_DataBinding.js></SCRIPT>

<SCRIPT SRC=smartclient/modules/load_skin.js></SCRIPT>

</HEAD>

<BODY CLASS="pageBackground" STYLE="overflow:hidden">

<script src="demoAppJS.js"></script>

</BODY>

</HTML>

demoAppJS.js

isc.setAutoDraw(false);

//<isomorphic:loadDS name="supplyItem"/>

//<isomorphic:loadDS name="supplyCategory"/>

isc.DataSource.create({

ID:"supplyCategory",

dataFormat:"xml",

recordXPath:"//country",

fields:[

{name:"categoryName",primaryKey:true},

{foreignKey:"supplyCategory.categoryName",//这一步 不懂、??

hidden:true,

name:"parentID",

required:true,

rootValue:"root", //初始化加载parentID为root记录 如果没有设置rootValue 会出现死循环式的树

type:"text"

}

],

operationBindings:[

{

operationType:"fetch",

dataURL:"demoApp/findTreeAll.action"

}

]

});

isc.DataSource.create({

ID:"supplyItem",

dataFormat:"xml", //数据格式 xml格式

recordXPath:"//country", //--<country></country>

fields:[

//{name:"itemId",primaryKey:true},//countryCode設置為主鍵

{name:"itemName", title:"itemName"},

{name:"unitCost", title:"unitCost"},

{name:"SKU",title:"SKU"},

{name:"description",title:"description"},

{name:"category",title:"category"},

{name:"inStock",title:"inStock"},

{name:"nextShipment",title:"nextShipment"}

],

operationBindings:[

{operationType:"fetch",

dataURL:"demoApp/findAll.action"

},

{operationType:"add"

//dataURL:"country/insertInfo.action"

},

{operationType:"update"

//dataURL:"country/updateInfo.action"

},

{operationType:"remove"

//dataURL:"country/deleteInfo.action"

}

]

});

isc.Page.setAppImgDir(isc.Page.getIsomorphicDocsDir()+"exampleImages/"); //设置img文件路径

isc.TreeGrid.create({

ID:"categoryTree",

dataSource:"supplyCategory",

nodeClick:"findForm.findItems(node.categoryName)",

showHeader:false,

leaveScrollbarGap:false,

animateFolders:true,

canAcceptDroppedRecords:true,

canReparentNodes:false,

selectionType:"single",

animateRowsMaxTime:750

});

isc.HTMLPane.create({

ID:"helpCanvas",

contentsURL:"demoApp_helpText.html",

overflow:"auto",

styleName:"defaultBorder",

padding:10

});

isc.IButton.create({

ID:"findButton",

title:"Find",

left:25,

top:16,

width:80,

click:"findForm.findItems()",

icon:"demoApp/icon_find.png",

iconWidth:24

});

isc.SearchForm.create({

ID:"findForm",

dataSource:supplyItem,

left:130,

top:10,

cellPadding:4,

numCols:6,

fields:[

{name:"SKU"},

{name:"itemName", editorType:"comboBox", optionDataSource:"supplyItem",

pickListWidth:250},

{name:"findInCategory", editorType:"checkbox",

title:"Use category", defaultValue:true, shouldSaveValue:false}

],

// Function to actually find items

findItems : function (categoryName) {

var findValues;

if (this.getValue('findInCategory') && categoryTree.selection.anySelected()) {

// use tree category and form values

if (categoryName == null) categoryName = categoryTree.getSelectedRecord().categoryName;

findValues = {category:categoryName};

isc.addProperties(findValues, this.getValues());

} else if (categoryName == null) {

// use form values only

findValues = this.getValues();

} else {

// use tree category only

findValues = {category:categoryName};

}

itemList.filterData(findValues);

itemDetailTabs.clearDetails();

}

});

isc.ListGrid.create({

ID:"itemList",

dataSource:supplyItem,

useAllDataSourceFields:true,

fields:[

{name:"itemName", title:"Name", showHover:true},

{name:"unitCost",

formatCellValue:"return isc.Format.toCurrencyString(parseFloat(value))",

editorType:"spinner", editorProperties:{step:0.01}},

{name:"SKU", canEdit:false},

{name:"description", showHover:true},

{name:"category", canEdit:false},

{name:"inStock", width:55, align:"center",

formatCellValue : function (value, record, field, rowNum, colNum) {

if (value) return isc.Canvas.imgHTML("demoApp/checked.png",13,13);

else return isc.Canvas.imgHTML("demoApp/unchecked.png",13,13)

}},

{name:"nextShipment", showIf:"false"}

],

recordClick:"this.updateDetails()",

canEdit:true,

modalEditing:true,

cellChanged:"this.updateDetails()",

alternateRecordStyles:true,

canDragRecordsOut:true,

hoverWidth:200,

hoverHeight:20,

selectionType:"single",

cellContextClick:"return itemListMenu.showContextMenu()",

updateDetails : function () {

var record = this.getSelectedRecord();

if (record == null) return itemDetailTabs.clearDetails();

if (itemDetailTabs.getSelectedTabNumber() == 0) { itemViewer.setData(record)

} else {

itemDetailTabs.updateTab("editTab", editForm);

editForm.editRecord(record);

}

}

});

isc.Menu.create({

ID:"itemListMenu",

cellHeight:22,

data:[

{title:"Add New Item",

icon:"demoApp/icon_add.png",

click:function () {

itemList.selection.deselectAll();

itemDetailTabs.selectTab(1);

itemList.updateDetails();

}

},

{isSeparator:true},

{title:"Show Details",

icon:"demoApp/icon_view.png",

click:"itemDetailTabs.selectTab(0); itemList.updateDetails()"},

{title:"Edit Item",

icon:"demoApp/icon_edit.png",

click:"itemDetailTabs.selectTab(1); itemList.updateDetails()"},

{title:"Delete Item",

icon:"demoApp/icon_delete.png",

click:"itemList.removeSelectedData(); itemDetailTabs.clearDetails()"}

]

});

isc.DetailViewer.create({

ID:"itemViewer",

dataSource:supplyItem,

width:"100%",

margin:"25",

emptyMessage:"Select an item to view its details"

});

isc.DynamicForm.create({

ID:"editForm",

dataSource:supplyItem,

useAllDataSourceFields:true,

fields:[

{name:"SKU"},

{name:"description", editorType:"textArea",rowSpan:3, width:200},

{name:"category", editorType:"pickTree", dataSource:supplyCategory, // 无法显示editform

emptyMenuMessage:"No Sub Categories", canSelectParentItems:true},

{name:"unitCost", editorType:"spinner", step:0.01},

{name:"inStock"},

{name:"nextShipment", useTextField:true,editorType:"date"},

{name:"savebtn", editorType:"button", align:"center",

width:100, colSpan:4, title:"Save Item", click:"editForm.saveData()"}

],

width:650,

numCols:4,

colWidths:[100,200,100,200],

margin:25,

cellPadding:5,

autoFocus:false

});

isc.Label.create({

ID:"editorMessage",

autoDraw: false,

width:"100%",

height:"100%",

align:"center",

contents:"Select a record to edit, or a category to insert a new record into"

});

isc.TabSet.create({

ID:"itemDetailTabs",

tabs:[

{title:"View", pane:itemViewer, ID:"viewTab", width:70, icon:"demoApp/icon_view.png"},

{title:"Edit", pane:editForm, ID:"editTab", width:70, icon:"demoApp/icon_edit.png"}

],

tabSelected:"itemList.updateDetails()",

clearDetails : function () {

var selectedTab = this.getSelectedTabNumber();

if (selectedTab == 0) {

itemViewer.setData();

} else if (selectedTab == 1) {

if (categoryTree.getSelectedRecord() != null) {

this.updateTab("editTab", editForm);

editForm.editNewRecord({category:categoryTree.getSelectedRecord().categoryName});

} else {

this.updateTab("editTab", editorMessage);

}

}

}

});

// Define application layout

// ---------------------------------------------------------------------

isc.HLayout.create({

ID:"pageLayout",

width:"100%",

height:"100%",

layoutMargin:20,

members:[

isc.SectionStack.create({

ID:"leftSideLayout",

width:280,

showResizeBar:true,

visibilityMode:"multiple",

animateSections:true,

sections:[

{title:"Office Supply Categories", autoShow:true, items:[categoryTree]},

{title:"Instructions", autoShow:true, items:[helpCanvas]}

]

}),

isc.SectionStack.create({

ID:"rightSideLayout",

visibilityMode:"multiple",

animateSections:true,

sections:[

{title:"Find Items", autoShow:true, items:[

isc.Canvas.create({

ID:"findPane",

height:60,

overflow:"auto",

styleName:"defaultBorder",

children:[findForm,findButton]

})

]},

{title:"Office Supply Items", autoShow:true, items:[itemList]},

{title:"Item Details", autoShow:true, items:[itemDetailTabs]}

]

})

]

});

isc.Page.setEvent("load", "pageLayout.draw()");

// Custom logic:

// When showing options in the combo-box, only show the options from the selected category

// if appropriate

findForm.getItem("itemName").addProperties({

getPickListFilterCriteria : function () {

var criteria = this.Super("getPickListFilterCriteria", arguments);

if (this.form.getValue('findInCategory') && categoryTree.selection.anySelected()) {

criteria.category = categoryTree.getSelectedRecord().categoryName;

}

return criteria

}

});

categoryTree.fetchData();

java代碼

DAO 層

package isc.java.Dao;

import isc.java.Module.supplyItem;

import java.util.List;

import org.hibernate.SessionFactory;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.orm.hibernate3.HibernateTemplate;

import org.springframework.stereotype.Repository;

@Repository

public class supplyItem_Dao {

private HibernateTemplate hibernateTemplate;

@SuppressWarnings("unused")

@Autowired

private void setHibernateTemplate (SessionFactory sessionFactory){

this.hibernateTemplate =new HibernateTemplate(sessionFactory);

}

/*

* function findAll

* 查询supplyItem表中所有记录

* 并以list形式返回

*

* */

@SuppressWarnings("unchecked")

public List<supplyItem> findAll(String category){

String hql="from supplyItem where category='"+category+"'";

List list=this.hibernateTemplate.find(hql);

return list;

}

/*

* 根据category返回对应的记录

* */

@SuppressWarnings("unchecked")

public supplyItem findInfoByID (int itemID){

supplyItem supp=(supplyItem) this.hibernateTemplate.get(supplyItem.class, itemID);

return supp;

}

/*

* 删除指定记录

*

* */

public void deleteInfo(supplyItem supp){

this.hibernateTemplate.delete(supp);

}

/*

* 更新修改后的记录

* */

public void updateInfo(supplyItem supp){

this.hibernateTemplate.update(supp);

}

/*

*增加记录

* */

public void insertInfo(supplyItem supp){

this.hibernateTemplate.save(supp);

}

}

package isc.java.Dao;

import isc.java.Module.supplyCategory;

import java.util.List;

import org.hibernate.SessionFactory;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.orm.hibernate3.HibernateTemplate;

import org.springframework.stereotype.Repository;

@Repository

public class supplyCategory_Dao {

private HibernateTemplate hibernateTemplate;

@SuppressWarnings("unused")

@Autowired

private void setHibernateTemplate (SessionFactory sessionFactory){

this.hibernateTemplate =new HibernateTemplate(sessionFactory);

}

@SuppressWarnings("unchecked")

public List<supplyCategory> findAll(String parentId){

String hql="from supplyCategory where parentId='"+parentId+"'";

List list =this.hibernateTemplate.find(hql);

return list;

}

}

ENTITY層

package isc.java.Module;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.Table;

@Entity

@Table(name="supplyCategory")

public class supplyCategory {

private String categoryName;

private String parentId;

@Id

@Column(name="categoryName")

public String getCategoryName() {

return categoryName;

}

public void setCategoryName(String categoryName) {

this.categoryName = categoryName;

}

@Column(name="parentId")

public String getParentId() {

return parentId;

}

public void setParentId(String parentId) {

this.parentId = parentId;

}

}

package isc.java.Module;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.Table;

@Entity

@Table(name="supplyItem")

public class supplyItem {

private int itemID ;

private String itemName;

private double unitCost;

private String SKU;

private String description;

private String category;

private String inStock;

private String nextShipment;

@Id

@GeneratedValue

@Column(name="itemID")

public int getItemID() {

return itemID;

}

public void setItemID(int itemID) {

this.itemID = itemID;

}

@Column(name="itemName")

public String getItemName() {

return itemName;

}

public void setItemName(String itemName) {

this.itemName = itemName;

}

@Column(name="unitCost")

public double getUnitCost() {

return unitCost;

}

public void setUnitCost(double unitCost) {

this.unitCost= unitCost;

}

@Column(name="SKU")

public String getSKU() {

return SKU;

}

public void setSKU(String sku) {

SKU = sku;

}

@Column(name="description")

public String getDescription() {

return description;

}

public void setDescription(String description) {

this.description = description;

}

@Column(name="category")

public String getCategory() {

return category;

}

public void setCategory(String category) {

this.category = category;

}

@Column(name="instock")

public String getInStock() {

return inStock;

}

public void setInStock(String inStock) {

this.inStock = inStock;

}

@Column(name="nextShipment")

public String getNextShipment() {

return nextShipment;

}

public void setNextShipment(String nextShipment) {

this.nextShipment = nextShipment;

}

}

Service 層

package isc.java.Service;

import isc.java.Dao.supplyCategory_Dao;

import isc.java.Module.supplyCategory;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import org.springframework.transaction.annotation.Transactional;

@Service

public class supplyCategory_Service {

private supplyCategory_Dao supplyCategory_dao;

@Autowired

public void setSupplyCategory_dao(supplyCategory_Dao supplyCategory_dao) {

this.supplyCategory_dao = supplyCategory_dao;

}

@Transactional("demoApp")

public List<supplyCategory> findAll(String parentId){

return this.supplyCategory_dao.findAll(parentId);

}

}

package isc.java.Service;

import isc.java.Dao.supplyItem_Dao;

import isc.java.Module.supplyItem;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import org.springframework.transaction.annotation.Transactional;

@Service

public class supplyItem_Service {

private supplyItem_Dao supplyItem_dao;

@Autowired

public void setSupplyItem_dao(supplyItem_Dao supplyItem_dao) {

this.supplyItem_dao = supplyItem_dao;

}

/*

* 使用声明式事物管理

* 在业务方法上进行@Transactional注解

* 将事物规则应用到业务逻辑中

* demoApp为限定词*_*

* */

@Transactional("demoApp")

public List<supplyItem> findAll(String category){

return this.supplyItem_dao.findAll(category);

}

@Transactional("demoApp")

public supplyItem findInfoByID(int itemID){

return this.supplyItem_dao.findInfoByID(itemID);

}

@Transactional("demoApp")

public void deleteInfo(int itemID){

supplyItem supp =this.supplyItem_dao.findInfoByID(itemID);

this.supplyItem_dao.deleteInfo(supp);

}

@Transactional("demoApp")

public void updateInfo(supplyItem supp){

this.supplyItem_dao.updateInfo(supp);

}

@Transactional("demoApp")

public void insertInfo(supplyItem supp){

this.supplyItem_dao.insertInfo(supp);

}

}

Web層

package isc.java.Web;

import isc.java.Module.supplyCategory;

import isc.java.Service.supplyCategory_Service;

import java.io.IOException;

import java.util.Enumeration;

import java.util.Iterator;

import java.util.List;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public class supplyCategory_Controller {

private supplyCategory_Service supplyCategory_service;

@Autowired

public void setSupplyCategory_service(

supplyCategory_Service supplyCategory_service) {

this.supplyCategory_service = supplyCategory_service;

}

@SuppressWarnings("unchecked")

@RequestMapping(value="demoApp/findTreeAll.action")

public void findAll(HttpServletResponse response,HttpServletRequest request){

String parentId=request.getParameter("parentID");

List<supplyCategory> list=this.supplyCategory_service.findAll(parentId);

ServletOutputStream sos=null;

try {

sos=response.getOutputStream();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

StringBuffer sbu=new StringBuffer();

Iterator ita=(Iterator)list.iterator();

while(ita.hasNext()){

supplyCategory supplycategory=(supplyCategory)ita.next();

sbu.append("<country>");

sbu.append("<categoryName>"+supplycategory.getCategoryName()+"</categoryName>");

sbu.append("<parentId>"+supplycategory.getParentId()+"</parentId>");

sbu.append("</country>");

}

try {

sos.print("<?xml version='1.0' encoding='UTF-8'?><records>"+sbu.toString()+"</records>");

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

package isc.java.Web;

import isc.java.Module.supplyItem;

import isc.java.Service.supplyItem_Service;

import java.io.IOException;

import java.util.Iterator;

import java.util.List;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public class supplyItem_Controller {

private supplyItem_Service supplyItem_service;

@Autowired

public void setSupplyItem_service(supplyItem_Service supplyItem_service) {

this.supplyItem_service = supplyItem_service;

}

/*

* 从数据库中提取数据 以xml格式存储

*

* */

@SuppressWarnings("unchecked")

@RequestMapping(value="demoApp/findAll.action")

public void findAll(HttpServletResponse response,HttpServletRequest request){

String category=request.getParameter("category");//接受前台传过来的参数

List<supplyItem>list =this.supplyItem_service.findAll(category);

ServletOutputStream sos=null;

try {

sos = response.getOutputStream();

} catch (IOException e) {

e.printStackTrace();

}

StringBuffer sbu=new StringBuffer();

Iterator ita = (Iterator) list.iterator();

while(ita.hasNext()){

supplyItem supplyitem=(supplyItem)ita.next();

sbu.append("<country>");

sbu.append("<itemID>"+supplyitem.getItemID()+"</itemID>");

sbu.append("<itemName>"+supplyitem.getItemName()+"</itemName>");

sbu.append("<unitCost>"+supplyitem.getUnitCost()+"</unitCost>");

sbu.append("<SKU>"+supplyitem.getSKU()+"</SKU>");

sbu.append("<description>"+supplyitem.getDescription()+"</description>");

sbu.append("<category>"+supplyitem.getCategory()+"</category>");

sbu.append("<inStock>"+supplyitem.getInStock()+"</inStock>");

sbu.append("<nextShipment>"+supplyitem.getNextShipment()+"</nextShipment>");

sbu.append("</country>");

}

try {

sos.print("<?xml version='1.0' encoding='UTF-8'?><records>"+sbu.toString()+"</records>");

} catch (IOException e) {

e.printStackTrace();

}

}

@RequestMapping(value="demoApp/deleteInfo.action")

public void deleteInfo(HttpServletRequest request){

int itemID=Integer.parseInt(request.getParameter("itemID"));

System.out.println("test======================"+itemID);

this.supplyItem_service.deleteInfo(itemID);

}

@RequestMapping(value="demoApp/updateInfo.action")

public void updateInfo(HttpServletRequest request){

int itemID=Integer.parseInt(request.getParameter("itemID"));

supplyItem supp=this.supplyItem_service.findInfoByID(itemID);

supp.setSKU(request.getParameter("SKU"));

supp.setCategory(request.getParameter("category"));

supp.setDescription(request.getParameter("description"));

supp.setInStock(request.getParameter("inStock"));

supp.setItemName(request.getParameter("itemName"));

supp.setNextShipment(request.getParameter("nextShipment"));

String s=request.getParameter("unitCost");

supp.setUnitCost(Double.parseDouble(s));

this.supplyItem_service.updateInfo(supp);

}

@RequestMapping(value="demoApp/insertInfo.action")

public void insertInfo(HttpServletRequest request){

supplyItem supp=new supplyItem();

supp.setCategory(request.getParameter("category"));

supp.setSKU(request.getParameter("SKU"));

supp.setDescription(request.getParameter("description"));

supp.setInStock(request.getParameter("inStock"));

supp.setItemName(request.getParameter("itemName"));

supp.setNextShipment(request.getParameter("nextShipment"));

supp.setUnitCost(Double.parseDouble(request.getParameter("unitCost")));

this.supplyItem_service.insertInfo(supp);

}

}

Xml

App-config.xml

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

<beans xmlns="http://www.springframework.org/schema/beans"

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

xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

<!-- Scans the classpath of this application for @Components to deploy as beans -->

<!-- 規約所有進行掃描的類,以完成Bean創建和自動依賴注入功能 -->

<context:component-scan base-package="isc.java.*" />

<!-- <context:annotation-config /> -->

<!-- Configures the @Controller programming model -->

<mvc:annotation-driven />

<!-- misc -->

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>

<property name="suffix" value=".action"/>

</bean>

<!-- Configures Hibernate - Database Config -->

<import resource="db-config.xml" />

</beans>

Db-config.xml

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

<beans xmlns="http://www.springframework.org/schema/beans"

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

xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:aop="http://www.springframework.org/schema/aop"

xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName"><value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value></property>

<property name="url"><value>jdbc:sqlserver://10.1.100.215:1433;DatabaseName=email</value></property>

<property name="username"><value>dev</value></property>

<property name="password"><value>12345678aA</value></property>

</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

<property name="dataSource"><ref local="dataSource"/></property>

<property name="packagesToScan" value="isc.java.*" />

<property name="hibernateProperties">

<props>

<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>

<prop key="hibernate.show_sql">true</prop>

<!-- <prop key="hibernate.hbm2ddl.auto">update</prop>-->

<prop key="hibernate.format_sql">true</prop>

</props>

</property>

</bean>

<!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->

<tx:annotation-driven/>

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

<property name="sessionFactory"><ref local="sessionFactory"/></property>

<qualifier value="demoApp"/> <!-- 限定词 -->

</bean>

</beans>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: