电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

WeX5通过Baas服务访问数据库

  • 资源ID:458965315       资源大小:302.35KB        全文页数:8页
  • 资源格式: DOCX        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

WeX5通过Baas服务访问数据库

1 案例概述本案例实现了对takeout_order(外卖订单表)表的分页查询、关键字检索和修改保存的能力,数据库表结构参见WeX5自带的mysql数据库。案例代码分为服务端和客户端两部分:服务端包含一个servlet(com.justep.baas.test.DemoServlet),用于为客户端提供数据查询和数据保存的Web服务;客户端包含一个.w页面(/UI2/demo/baas/simpleData/index.w),页面上的数据集通过ajax请求访问服务端提供的Web服务,实现数据的增删改查。2 服务端2.1 导入baas工程1、 运行“启动WeX5开发工具.bat”;2、 打开Java透视图,选择菜单“窗口-打开透视图-Java”;3、 导入baas工程,选择菜单“文件-导入”,选择“常规-现有项目到工作空间中”,“下一步”,“选择根目录-浏览”,选择WeX5目录下“apache-tomcatwebappsbaas”,“完成”。2.2 JNDI数据源配置/baas/META-INF/context.xml<?xml version="1.0" encoding="UTF-8"?><Context reloadable="true"><Resource name="jdbc/takeout" type="javax.sql.DataSource"maxActive="100" maxIdle="30"driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql:/127.0.0.1:3306/takeout"username="root" password="x5" /></Context>注意:Tomcat 6启动时,自动将“/baas/META-INF/context.xml”复制一份到“apache-tomcatconfCatalinalocalhostbaas.xml”。但是当context.xml内容修改后,Tomcat并不会自动更新。所以,修改context.xml的内容后,需要手动更新“apache-tomcatconfCatalinalocalhostbaas.xml”。切记!切记!特别注意:由于Tomcat 6的bug(https:/bz.apache.org/bugzilla/show_bug.cgi?id=44725),不要在Tomcat服务运行时删除“apache-tomcatconfCatalinalocalhostbaas.xml”,否则Tomcat会自动删除WEB-INF/web.xml。2.3 Java Servlet/ Servlet入口,通过判断action参数,进入各自对应的实现方法public void service(ServletRequest request, ServletResponse response) throws ServletException try String action = request.getParameter("action");if ("queryOrder".equals(action) queryOrder(request, response); else if ("saveOrder".equals(action) saveOrder(request, response); catch (Exception e) e.printStackTrace();throw new ServletException(e);这里实现了queryOrder和saveOrder两个action。/ 查询订单,实现了分页查询和按检索关键字过滤private static void queryOrder(ServletRequest request, ServletResponse response) throws SQLException, IOException, NamingException / 参数序列化JSONObject params = (JSONObject) JSONObject.parse(request.getParameter("params");/ 获取参数String columns = params.getString("columns"); / 要返回的数据列Integer limit = params.getInteger("limit"); / 分页查询的行数Integer offset = params.getInteger("offset"); / 分页查询的行偏移String search = params.getString("search"); / 检索关键字/ 存放SQL中的参数值List<Object> sqlParams = new ArrayList<Object>();/ 存放SQL中的过滤条件List<String> filters = new ArrayList<String>();if (!Util.isEmptyString(search) / 增加过滤条件filters.add("fUserName LIKE ? OR fPhoneNumber LIKE ? OR fAddress LIKE ? OR fContent LIKE ?");/ 检索关键字中如果没有%,则前后自动加%search = (search.indexOf("%") != -1) ? search : "%" + search + "%"/ 增加参数值,参数的个数和顺序必须与过滤条件的?相匹配 for (int i = 0; i < 4; i+) sqlParams.add(search);Table table = null;/ 获取数据源连接Connection conn = Util.getConnection(DATASOURCE_TAKEOUT);try / 执行单表数据查询,返回Tabletable = Util.queryData(conn, TABLE_TAKEOUT_ORDER, columns, filters, "fCreateTime DESC", sqlParams, offset, limit); finally / 必须关闭数据源连接conn.close();/ 输出Table做为返回结果,这里会自动转换为Table的JSON格式 Util.writeTableToResponse(response, table);/ 保存订单private static void saveOrder(ServletRequest request, ServletResponse response) throws ParseException, SQLException, NamingException / 参数序列化JSONObject params = (JSONObject) JSONObject.parse(request.getParameter("params");/ 获取参数JSONObject data = params.getJSONObject("data"); / 订单数据的JSON格式/ JSON转换TableTable table = Transform.jsonToTable(data);/ 获取数据源连接Connection conn = Util.getConnection(DATASOURCE_TAKEOUT);try / 开启事务conn.setAutoCommit(false);try / 保存TableUtil.saveData(conn, table, TABLE_TAKEOUT_ORDER);/ 提交事务conn.commit(); catch (SQLException e) / 如果发生异常,首先回滚事务,然后把异常继续抛出conn.rollback();throw e; finally / 必须关闭数据源连接conn.close();在上面的代码中,大多数都是用来处理参数、数据库连接和事务的代码,核心代码其实只有以下几句:/ 执行单表数据查询,返回Tabletable = Util.queryData(conn, TABLE_TAKEOUT_ORDER, columns, filters, "fCreateTime DESC", sqlParams, offset, limit);/ 输出Table做为返回结果,这里会自动转换为Table的JSON格式 Util.writeTableToResponse(response, table);/ JSON转换TableTable table = Transform.jsonToTable(data);/ 保存TableUtil.saveData(conn, table, TABLE_TAKEOUT_ORDER);2.4 Servlet配置/baas/WEB-INF/web.xml<servlet><servlet-name>X5 Baas Demo Servlet</servlet-name><servlet-class>com.justep.baas.test.DemoServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>X5 Baas Demo Servlet</servlet-name><url-pattern>/demo</url-pattern></servlet-mapping>3 客户端3.1 页面设计/UI2/demo/baas/simpleData/index.w页面上包含一个数据组件orderData,orderData的列设置与数据库表takeout_order的列结构相匹配。页面布局的最外层是一个panel,将页面分为上中下三个部分:u 上部包含一个titleBar组件,设置了页面的标题和几个按钮,几个按钮的onClick事件分别设置了window或orderData的操作;u 中部包含一个contents多页组件,里面包含两个页listContent和detailContent;u 下部包含一个buttonGroup组件,里面包含两个按钮,分别通过target属性指向

注意事项

本文(WeX5通过Baas服务访问数据库)为本站会员(re****.1)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.