smartclient 连接数据库

来源:互联网 发布:数据安全保密规定 编辑:程序博客网 时间:2024/05/18 13:05

先学习了extjs框架,体会到了extjs复杂的代码,令人费解的语法,真不是盖得!在接触smartclient,个人觉得比较简单,从语法上来说也比较简单,至少容易理解。

咬咬牙竟然可以做出一个小demo。 哈哈。

js 代码<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%@ taglib uri="isomorphic" prefix="isomorphic" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</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"> <isomorphic:loadISC skin="Enterprise"/> </head> <body> <script type="text/javascript"> isc.DataSource.create({ ID:"countryDS", dataFormat:"xml", //数据格式 xml格式 recordXPath:"//country", //<country></country> fields:[ {name:"countryCode", title:"Code", primaryKey:true}, {name:"countryName", title:"Country"}, {name:"capital", title:"Capital"}, {name:"continent",title:"continent"} ], operationBindings:[ {operationType:"fetch", dataURL:"country/findInfo.action" }, {operationType:"add", dataURL:"country/insertInfo.action" }, {operationType:"update", dataURL:"country/updateInfo.action" }, {operationType:"remove", dataURL:"country/deleteInfo.action" } ]}); isc.ListGrid.create({ ID: "countryList", width:500, height:224, alternateRecordStyles:true, left:20, dataSource: countryDS, canEdit:true, fields:[ {name:"countryCode"}, {name:"countryName"}, {name:"capital"}, {name:"continent"} ], sortFieldNum: 0, dataPageSize: 50, autoFetchData:true})isc.IButton.create({ID:"testbutton",click:"countryList.startEditingNew()",title:" Add information",left:20,top:240,width:150})isc.IButton.create({ left:350, top:240, width:150, title:"Remove country (UK)", click: function () { if (countryList.getSelectedRecord()) { //判断是否选中了grid行记录 countryList.removeData(countryList.getSelectedRecord()) }else{ isc.say('請選擇要刪除的記錄') } }}); </script> </body></html>package isc.java.Module;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name="country")public class country {private String code;private String countryname;private String capital;private String continent;@Id@Column(name="code")public String getCode() {return code;}public void setCode(String code) {this.code = code;}@Column(name="countryname")public String getCountryname() {return countryname;}public void setCountryname(String countryname) {this.countryname = countryname;}@Column(name="capital")public String getCapital() {return capital;}public void setCapital(String capital) {this.capital = capital;}@Column(name="continent")public String getContinent() {return continent;}public void setContinent(String continent) {this.continent = continent;}}package isc.java.Dao;import isc.java.Module.country;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;@Repositorypublic class CountryDao {private HibernateTemplate hibernateTemplate;@SuppressWarnings("unused")@Autowiredprivate void setHibernateTemplate (SessionFactory sessionFactory){this.hibernateTemplate =new HibernateTemplate(sessionFactory);}@SuppressWarnings("unchecked")public List<country> findInfo(){String hql="from country";return this.hibernateTemplate.find(hql);}public void updateInfo(country country){this.hibernateTemplate.update(country);}//根據code返回code對應的信息 public country findByCode(String code){return this.hibernateTemplate.get(country.class, code);}public boolean delete (country countrys){ try{this.hibernateTemplate.delete(countrys);return true; }catch(Exception e){ System.out.println("丫操作失敗!看來是人品問題,。"); //e.printStackTrace(); return false; }}public void insert(country countrys){this.hibernateTemplate.save(countrys);}}package isc.java.Service;import isc.java.Dao.CountryDao;import isc.java.Module.country;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;@Servicepublic class CountryService {private CountryDao countryDao;@Autowiredpublic void setCountryDao(CountryDao countryDao) {this.countryDao = countryDao;}@Transactional("smartclient")public List<country> findInfo( ){return this.countryDao.findInfo();}@Transactional("smartclient")public country findByCode(String code){return this.countryDao.findByCode(code);} @Transactional("smartclient")public void updateInfo(country country){this.countryDao.updateInfo(country);}@Transactional("smartclient")public boolean delete(country countrys){return this.countryDao.delete(countrys);}@Transactional("smartclient")public void insert(country countrys){this.countryDao.insert(countrys);}}package isc.java.Web;import isc.java.Module.country;import isc.java.Service.CountryService;import java.io.IOException;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Iterator;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;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class CountryController {private CountryService countryService;@Autowiredpublic void setCountryService(CountryService countryService) {this.countryService = countryService;}/*从数据库中提取数据,转换成smartclient能识别的格式,xml*/@SuppressWarnings("unchecked")@RequestMapping(value="country/findInfo.action")public void findInfo(HttpServletResponse response){System.out.println("JUST A TEST ABOUT SELECT ");List<country> list =this.countryService.findInfo(); ServletOutputStream sos=null;try {sos = response.getOutputStream();} catch (IOException e) {e.printStackTrace();}StringBuffer sbu=new StringBuffer();Iterator ita = (Iterator) list.iterator();while(ita.hasNext()){ country countrys=(country) ita.next(); sbu.append("<country>"); sbu.append("<countryCode>"+countrys.getCode()+"</countryCode>"); sbu.append("<countryName>"+countrys.getCountryname()+"</countryName>"); sbu.append("<capital>"+countrys.getCapital()+"</capital>"); sbu.append("<continent>"+countrys.getContinent()+"</continent>"); sbu.append("</country>");}try {sos.print("<?xml version='1.0' encoding='UTF-8'?><records>"+sbu.toString()+"</records>");} catch (IOException e) {e.printStackTrace();}}@RequestMapping(value="country/updateInfo.action")public @ResponseBody Map<String,Object> updateInfo(HttpServletRequest request){Map<String,Object>map=new HashMap<String,Object>();System.out.println("測試程序:-----"+request.getParameter("countryCode"));country countrys=this.findByCode(request.getParameter("countryCode"));String countryname=request.getParameter("countryName");String continent =request.getParameter("continent");String capital=request.getParameter("capital");countrys.setCountryname(countryname);countrys.setContinent(continent);countrys.setCapital(request.getParameter(capital));this.countryService.updateInfo(countrys);return map;}public country findByCode(String code){return this.countryService.findByCode(code);}@RequestMapping(value="country/deleteInfo.action")public @ResponseBody Map<String ,Object> detete (HttpServletRequest request){Map<String,Object>map=new HashMap<String,Object>();String code=request.getParameter("countryCode");country countrys=this.countryService.findByCode(code); boolean b =this.countryService.delete(countrys);if(b){System.out.println("恭喜 在數據庫中成功刪除此記錄!");}else{System.out.println("I am so sorry! 刪除失敗");}return map;}@RequestMapping(value="country/insertInfo.action")public @ResponseBody Map<String,Object> insert(HttpServletRequest request){Map<String,Object>map=new HashMap<String,Object>();country countrys=new country();countrys.setCode(request.getParameter("countryCode"));countrys.setCapital(request.getParameter("capital"));countrys.setContinent(request.getParameter("continent"));countrys.setCountryname(request.getParameter("countryName"));this.countryService.insert(countrys);return map;}}



原创粉丝点击