package ${package}; import java.io.IOException; import java.math.BigDecimal; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONObject; @WebServlet("/${classname}") public class ${classname} extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String type = request.getParameter("type"); try { if (type.equals("getAll")) { getAll(request, response); } else if (type.equals("remove")) { delete(request, response); } else if (type.equals("modify")) { update(request, response); } else if(type.equals("insert")){ insert(request,response); } } catch (ClassNotFoundException | SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } private void delete(HttpServletRequest request, HttpServletResponse response) throws SQLException, ClassNotFoundException { Connection con = getConnection(); StringBuilder sb=new StringBuilder(100); sb.append("delete from ${tablename} where "); <#list primaryKey as key> <#if (key_index=0)> sb.append("${key.name}=? "); </#if> <#if (key_index!=0)> sb.append(" and ${key.name}=? "); </#if> </#list> PreparedStatement cmd = con.prepareStatement(sb.toString()); <#list primaryKey as key> cmd.setString(${key_index+1}, request.getParameter("${key.name}")); </#list> cmd.executeUpdate(); con.close(); } <#assign curIndex=0/> private void update(HttpServletRequest request, HttpServletResponse response) throws SQLException, ClassNotFoundException { Connection con = getConnection(); StringBuilder sb=new StringBuilder(100); sb.append("update ${tablename} set "); <#list keys as key> sb.append("${key.name}=?<#if key_has_next>,</#if>"); <#assign curIndex=key_index+1 /> </#list> sb.append(" where "); <#list primaryKey as key> sb.append("${key.name}=?<#if key_has_next>,</#if>"); </#list> PreparedStatement cmd = con.prepareStatement(sb.toString()); <#list keys as key> cmd.setObject(${key_index+1},request.getParameter("${key.name}")); </#list> <#list primaryKey as key> cmd.setObject(${curIndex+1},request.getParameter("${key.name}")); <#assign curIndex=curIndex+1/> </#list> cmd.executeUpdate(); con.close(); } private void insert(HttpServletRequest request, HttpServletResponse response) throws SQLException, ClassNotFoundException { Connection con = getConnection(); StringBuilder sb=new StringBuilder(100); sb.append("insert into ${tablename} ("); <#list keys as key> sb.append("${key.name}<#if key_has_next>,</#if>"); </#list> sb.append(") values("); <#list keys as key> sb.append("?<#if key_has_next>,</#if>"); </#list> sb.append(")"); PreparedStatement cmd = con.prepareStatement(sb.toString()); <#list keys as key> cmd.setObject(${key_index+1},request.getParameter("${key.name}")); </#list> cmd.executeUpdate(); con.close(); } private void getAll(HttpServletRequest request, HttpServletResponse response) throws SQLException, ClassNotFoundException, IOException { Connection con = getConnection(); List<Map> list = new ArrayList<Map>(); ResultSet rs = con.createStatement().executeQuery("select * from ${tablename}"); while (rs.next()) { Map map=new HashMap(); <#list keys as key> map.put("${key.name}",rs.getString("${key.name}")); </#list> list.add(map); } JSONObject obj = new JSONObject(); obj.put("total", list.size()); obj.put("rows", list); con.close(); response.getWriter().print(obj.toString()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } private Connection getConnection() throws SQLException, ClassNotFoundException { String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbURL = "jdbc:sqlserver://101.251.209.184:24876;DatabaseName=roomdb"; String userName = "sa"; String userPwd = "6JYDrwXsDkuBhQ}M"; Class.forName(driverName); Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd); dbConn.setAutoCommit(true); return dbConn; } }
相关推荐
西门子111报文 SINAMICS 111 SIEMENS telegram 111, PZD-12/12 接通就绪 运行准备就绪 运行使能 故障存在 "滑行下降"未激活 "快速停止"未激活 "禁止开关接通"激活 报警存在(1级报警) 下面的报警在允许范围内(3级...
《Xilinx Zynq UltraScale+ RFSoC ZCU111评估套件官方文档详解》 Xilinx的Zynq UltraScale+ RFSoC ZCU111 Evaluation Kit是一款高度集成的开发平台,用于测试和验证Zynq UltraScale+系列的RF系统级芯片(RFSoC)的...
爱普生L111系列打印机是一款经济实惠的喷墨打印机,主要面向家庭和小型办公室用户。该系列打印机以其高质量的打印效果、低运行成本和长久的使用寿命而受到青睐。然而,随着时间的推移,打印机可能会出现“墨盒计数器...
标题 "4-20mA XTR111正式版_PCBSTM32电流信号频率_XTR111_xtr111stm32_4-20MA_stm32p" 指向了一个基于STM32微控制器的硬件设计,其中涉及到的关键技术是使用XTR111集成电路来生成4-20mA的电流信号,并进行频率信号的...
XTR111是一款专为这种电流输出设计的芯片,它能够将电压信号转换成相应的电流信号。XTR111是由德州仪器公司(Texas Instruments)开发的,其线性度好,成本低廉,因此成为了工业应用中的首选。 为了构建一个简单的4...
"西门子111报文详解" 西门子111报文是西门子公司的工业自动化控制系统中使用的一种报文协议。该报文协议用于在工业控制系统中传输数据,实现设备之间的通信和控制。下面是对西门子111报文的详细解释: 1. 报文结构...
《MT9D111:高清晰度图像传感器的创新技术与应用》 一、MT9D111概述 MT9D111是一款由Aptina Imaging Corporation设计的1/3.2英寸200万像素系统级芯片(SOC)CMOS数字图像传感器。该产品基于Aptina独特的Digital ...
TR-111是TR-069协议族的一个重要组成部分,主要应用于家庭网络设备的远程管理。TR-069(Technical Report 069)是由DSL论坛(现为Broadband Forum)制定的一套标准,旨在提供一种安全、自动化的远程配置和管理家庭...
### 移远 HCM111Z 蓝牙模块指令手册知识点解析 #### 一、前言 移远通信(Quectel)是一家全球领先的物联网(IoT)技术和服务提供商,专注于为客户提供全面的无线解决方案和服务。在《Quectel-HCM111Z-AT-Commands-...
navicat111_mysql_cs_x64navicat111_mysql_cs_x64navicat111_mysql_cs_x64navicat111_mysql_cs_x64navicat111_mysql_cs_x64navicat111_mysql_cs_x64navicat111_mysql_cs_x64navicat111_mysql_cs_x64navicat111_mysql...
MT9D111是一款常见的CMOS图像传感器,广泛应用于各种设备中的摄像头模块。这款传感器提供了灵活的配置选项,可以通过编程其内部的寄存器来调整图像质量、分辨率和其他性能参数。以下是关于MT9D111寄存器配置的一些...
类比半导体(Analog Devices)的ADX111驱动程序是专为集成ADC(模数转换器)设计的软件组件,用于将模拟信号转化为数字信号,以便计算机或其他数字系统能够处理。这款驱动程序同时兼容德州仪器(TI)的ADS1115和ADS1118,...
### XTR111 电流电压转换芯片 #### 概述 XTR111 是一款高精度的电压到电流转换器(Voltage-to-Current Converter),适用于标准的 0~20mA、4~20mA 模拟信号,并且能够提供高达 36mA 的输出电流。该芯片通过一个简单...
可以使用迅雷进行接管下载,也可以在浏览器下载,下载完成以后使用pip install +文件路径名进行安装(实例 pip install E:\anacondalib\torch-1.9.0+cu111-cp38-cp38-win_amd64.whl)即可,如若遇见报错的情况如安装...
**Java Development Kit (JDK) 1.8.0_111** JDK(Java Development Kit)是Oracle公司提供的用于开发和运行Java应用程序的重要工具集。版本1.8.0_111是Java 8的一个更新版本,它包含了Java编译器、Java虚拟机(JVM...
《LMS111指令集详解》 LMS111指令集是针对LMS111设备或系统设计的一套操作指令,主要用于控制、配置和优化LMS111的功能。这一指令集是开发者进行LMS111平台开发的关键工具,能够帮助他们高效地实现各种功能和应用。...
本主题聚焦于S120如何利用“111报文”来实现“Basic Position”(基本定位)功能,这是一种核心的运动控制技术。以下将详细介绍这一功能的实现原理、步骤以及相关的文件内容。 1. **111报文详解**: 111报文是...
本篇内容将深入探讨V90PN伺服驱动器中的常用报文,特别是1号报文和111报文。 1号报文,也称为标准报文1,是伺服驱动器最基础的通信报文之一。它通常包含驱动器的状态信息,如运行模式、错误代码、电机速度和位置等...
标题中的“4-20mA方案”和描述中提到的“XTR111工业通信4-20mA解决方案”都是关于工业自动化领域中的一个重要通信标准——4-20mA电流环路。这个标准广泛应用于远程传感器和控制器之间的通信,因为它的抗干扰能力强,...
摩托罗拉CT111C有线录音电话是一款具备多项功能的电话机,它为用户提供了方便的录音、播放、呼叫管理等功能。以下是对CT111C电话机主要功能的详细介绍: 1. 基本配置:CT111C电话机的标准配置包括电话机本身、听筒...