1.2. Sql 映射配置 小风 Java 实战系列教程 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//dtd Mapper 3.0//EN" "

Similar documents
Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

"+handlermethod.getbean().getclass().getname()); public void aftercompletion(httpservletrequest req, HttpServletResponse resp, Object handler, Excepti

Microsoft Word - PHP7Ch01.docx

untitled

将 MD5 的工具类拷贝到项目中 二 微服务模块的搭建 我们将权限的查询放到一个单独的模块中, 这个模块提供接口供给消费者远程调用 (RPC), 这次范例是微服开发的雏形, 在以后你使用 springcloud 的时候会使用到今天的概念 1 使用 maven 创建新的模块 (microboot-sh

设计模式 Design Patterns

EJB-Programming-4-cn.doc

untitled

PrintWriter s = new PrintWriter(writer); ex.printstacktrace(s); mv.addobject("exception", writer.tostring()); mv.setviewname("error"); return

本章学习目标 小风 Java 实战系列教程 Shiro 核心功能 Shiro 的 Web 集成 Spring 与 Shiro 整合 SpringBoot 整合 Shiro 1. Shiro 核心功能 1.1. RBAC 模型 在 RBAC 的模型, 涉及到三个关键的元素 : 1) 用户 : 系统的使

new 进行创建对象, 是程序主动去创建依赖对象 ; 而 IoC 是有专门一个容器来创建这些对象, 即由 Ioc 容器来控制对象的创建 ; 谁控制谁? 当然是 IoC 容器控制了对象 ; 控制什么? 那就是主要控制了外部资源获取 ( 不只是对象包括比如文件等 ) 为何是反转, 哪些方面反转了 : 有

Microsoft Word - 01.DOC

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

IoC容器和Dependency Injection模式.doc

05 01 accordion UI containers 03 Accordion accordion UI accordion 54

untitled

untitled

输入 project name 选择完成

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

RUN_PC連載_10_.doc

RUN_PC連載_8_.doc

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

untitled

Java

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

untitled

5-1 nav css 5-2

JavaIO.PDF

基于ECO的UML模型驱动的数据库应用开发1.doc

第03章 控制反转(Spring IoC)

untitled

EJB-Programming-3.PDF

untitled

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

在Spring中使用Kafka:Producer篇

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

目錄

FileMaker 15 ODBC 和 JDBC 指南

關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK

PowerPoint プレゼンテーション

在 ongodb 中实现强事务

FileMaker 16 ODBC 和 JDBC 指南

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

Microsoft Word - 扉页.doc

untitled

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

epub83-1

<!-- import outer proper

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

第一章 章标题-F2 上空24,下空24

回滚段探究

2.4 Selenium Python Selenium Selenium Selenium Selenium pip install selenium Chrome WebDriver Google Chrome (Linux, Mac, Windows) Chrome WebDriv

untitled

《大话设计模式》第一章

untitled

Microsoft Office SharePoint Server MOSS Web SharePoint Web SharePoint 22 Web SharePoint Web Web SharePoint Web Web f Lists.asmx Web Web CAML f

Spring 的入门程序 依赖注入的概念 依赖注入的实现方式 Spring 的核心容器 Spring 的入门程序 依赖注入的概念 依赖注入的实现方式 依赖注入的概念 了解 Spring 的概念和优点 理解 Spring 中的 IoC 和 DI 思想 掌握 ApplicationContext 容器的

Oracle 4

1. 2. Flex Adobe 3.

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

OSWorkflow Documentation

untitled

互動網頁技術系列課程 HTML與CSS網站基礎設計 [12pt]

Microsoft Word - Learn Objective-C.doc

f2.eps

Adobe® Flash® 的 Adobe® ActionScript® 3.0 程式設計

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

Chapter 9: Objects and Classes

目錄 C ontents Chapter MTA Chapter Chapter

untitled

RUN_PC連載_12_.doc

Microsoft Word 電腦軟體設計.doc


Microsoft PowerPoint - FlexTraining_by_RIAMeeting.pptx

(CIP) Web /,. :, ISBN X.W T P393.4 CIP (2004) Web ( ) ( / ) : * 787

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w

XXXXXXXX

设计模式 Design Patterns

untitled

第一章

epub 61-2

Guava学习之Resources

大骗子-郑州共赢国:郑州共赢科技有限公司 际也称共赢科技是专门骗

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

「西醫基層總額支付委員會《第28次委員會議紀錄

電機工程系認可證照清單 /7/1

untitled

自动化接口

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

无类继承.key

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

支付宝2011年 IT资产与费用预算

IsPostBack 2

RunPC2_.doc

Transcription:

本章学习目标 小风 Java 实战系列教程 CRM 开发环境搭建 客户列表展示 客户分页显示 客户添加 客户信息修改回显 客户信息更新保存 客户信息删除 1. 客户列表展示 1.1. Mapper 接口 package cn.sm1234.dao; import java.util.list; import cn.sm1234.domain.customer; public interface CustomerMapper { /** * 查询所有数据 */ public List<Customer> findal();

1.2. Sql 映射配置 小风 Java 实战系列教程 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//dtd Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 该文件编写 mybatis 中的 mapper 接口里面的方法提供对应的 sql 语句 --> <mapper namespace="cn.sm1234.dao.customermapper"> <!-- 查询所有数据 --> <select id="findal" resulttype="cn.sm1234.domain.customer"> SELECT id, NAME, gender, telephone, address FROM ssm.t_customer </select> </mapper> 1.3. Service 接口 : package cn.sm1234.service; import java.util.list;

import cn.sm1234.domain.customer; public interface CustomerService { /** * 查询所有数据 */ public List<Customer> findall(); 实现 : package cn.sm1234.service.impl; import java.util.list; import javax.annotation.resource; import org.springframework.stereotype.service; import org.springframework.transaction.annotation.transactional; import cn.sm1234.dao.customermapper; import cn.sm1234.domain.customer; import cn.sm1234.service.customerservice; @Service("customerService") @Transactional public class CustomerServiceImpl implements CustomerService {

// 注入 Mapper 接口对象 @Resource private CustomerMapper customermapper; public List<Customer> findall() { return customermapper.findal(); 1.4. Controller package cn.sm1234.controller; import java.util.list; import javax.annotation.resource; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.responsebody; import cn.sm1234.domain.customer; import cn.sm1234.service.customerservice; @Controller @RequestMapping("/customer") public class CustomerController {

// 注入 service 对象 @Resource private CustomerService customerservice; /** * 查询所有数据, 给页面返回 json 格式数据 * easyui 的 datagrid 组件, 需要展示数提供 json 数据 : [ {id:1,name:xxx,{id:1,name:xxx ] */ @RequestMapping("/list") @ResponseBody // 用于转换对象为 json public List<Customer> list(){ // 查询数据 List<Customer> list = customerservice.findall(); return list; 这时可以运行项目测试, 发现错误 : 原因 :SpringMVC 在转换 Java 对象为 json 数据的时候,jackson 插件的版本太低, 导致转换失败 解决办法 :

升级 jackson 插件的版本, 最好升级都 2.6 以上 小风 Java 实战系列教程 1.5. 页面 在页面导入 easyui 的资源文件 : <!-- 导入 easyui 的资源文件 --> <script type="text/javascript" src="easyui/jquery.min.js"></script> <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script> <script type="text/javascript" src="easyui/locale/easyui-lang-zh_cn.js"></script> <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css"> <link id="themelink" rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css"> <table id="list"></table> <script type="text/javascript"> $(function(){ $("#list").datagrid({ //url: 后台数据查询的地址 url:"customer/list.action", //columns: 填充的列数据 //field: 后台对象的属性 //tille: 列标题 columns:[[ { field:"id", title:" 客户编号 ", width:100,

checkbox:true, { field:"name", title:" 客户姓名 ", width:200, { field:"gender", title:" 客户性别 ", width:200, { field:"telephone", title:" 客户手机 ", width:200, { field:"address", title:" 客户住址 ", width:200 ]] ); ); </script>

2. 客户分页显示 小风 Java 实战系列教程 2.1. 页面 $(function(){ $("#list").datagrid({ //url: 后台数据查询的地址 url:"customer/listbypage.action", //columns: 填充的列数据 //field: 后台对象的属性 //tille: 列标题 columns:[[ { field:"id", title:" 客户编号 ", width:100, checkbox:true, { field:"name", title:" 客户姓名 ", width:200, { field:"gender", title:" 客户性别 ", width:200, {

field:"telephone", title:" 客户手机 ", width:200, { field:"address", title:" 客户住址 ", width:200 ]], // 显示分页 pagination:true ); ); 2.2. Controller 2.2.1. 使用 mybatis 分页插件 2.2.1.1. 导入 mybatis 分页插件的 jar 包 2.2.1.2. 配置 applicationcontext.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:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- 读取 jdbc.properties --> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 创建 DataSource --> <bean id="datasource" class="org.apache.commons.dbcp.basicdatasource"> <property name="url" value="${jdbc.url"/> <property name="driverclassname" value="${jdbc.driverclass"/> <property name="username" value="${jdbc.user"/> <property name="password" value="${jdbc.password"/> <property name="maxactive" value="10"/> <property name="maxidle" value="5"/> </bean> <!-- 创建 SqlSessionFactory 对象 --> <bean id="sqlsessionfactory" class="org.mybatis.spring.sqlsessionfactorybean"> <!-- 关联连接池 -->

<property name="datasource" ref="datasource"/> <!-- 加载 sql 映射文件 --> <property name="mapperlocations" value="classpath:mapper/*.xml"/> <!-- 引入插件 --> <property name="plugins"> <array> <!-- mybatis 分页插件 --> <bean class="com.github.pagehelper.pageinterceptor"> <property name="properties"> <!-- helperdialect: 连接数据库的类型 --> <value> helperdialect=mysql </value> </property> </bean> </array> </property> </bean> <!-- Mapper 接口的扫描 --> <!-- 注意 : 如果使用 Mapper 接口包扫描, 那么每个 Mapper 接口在 Spring 容器中的 id 名称为类名 : 例如 CustomerMapper -> customermapper --> <bean class="org.mybatis.spring.mapper.mapperscannerconfigurer"> <!-- 配置 Mapper 接口所在包路径 --> <property name="basepackage" value="cn.sm1234.dao"/>

</bean> <!-- 开启 Spring 的 IOC 注解扫描 --> <context:component-scan base-package="cn.sm1234"/> <!-- 开启 Spring 的事务 --> <!-- - 事务管理器 --> <bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager"> <property name="datasource" ref="datasource"/> </bean> <!-- 启用 Spring 事务注解 --> <tx:annotation-driven transaction-manager="transactionmanager"/> </beans> package cn.sm1234.controller; import java.util.hashmap; import java.util.list; import java.util.map; import javax.annotation.resource; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.responsebody; import cn.sm1234.domain.customer;

import cn.sm1234.service.customerservice; import com.github.pagehelper.pagehelper; import com.github.pagehelper.pageinfo; @Controller @RequestMapping("/customer") public class CustomerController { // 注入 service 对象 @Resource private CustomerService customerservice; /** * 查询所有数据, 给页面返回 json 格式数据 * easyui 的 datagrid 组件, 需要展示数提供 json 数据 : [ {id:1,name:xxx,{id:1,name:xxx ] */ @RequestMapping("/list") @ResponseBody // 用于转换对象为 json public List<Customer> list(){ // 查询数据 List<Customer> list = customerservice.findall(); return list; // 设计 Map 聚合存储需要给页面的对象数据 private Map<String,Object> result = new HashMap<String,Object>();

/** * 分页查询 */ @RequestMapping("/listByPage") @ResponseBody public Map<String,Object> listbypage(integer page,integer rows){ // 设置分页参数 PageHelper.startPage(page, rows); // 查询所有数据 List<Customer> list = customerservice.findall(); // 使用 PageInfo 封装查询结果 PageInfo<Customer> pageinfo = new PageInfo<Customer>(list); // 从 PageInfo 对象取出查询结果 // 总记录数 long total = pageinfo.gettotal(); // 当前页数据列表 List<Customer> custlist = pageinfo.getlist(); result.put("total", total); result.put("rows", custlist); return result;

3. 客户添加 小风 Java 实战系列教程 3.1. 页面 设计一个工具条 : <!-- 工具条 --> <div id="tb"> <a id="addbtn" href="#" class="easyui-linkbutton" data-options="iconcls:'icon-add',plain:true"> 添加 </a> <a id="editbtn" href="#" class="easyui-linkbutton" data-options="iconcls:'icon-edit',plain:true"> 修改 </a> <a id="deletebtn" href="#" class="easyui-linkbutton" data-options="iconcls:'icon-remove',plain:true"> 删除 </a> </div> 在 datagrid 上面绑定 : 设计一个录入窗口

<!-- 编辑窗口 --> <div id="win" class="easyui-window" title=" 客户数据编辑 " style="width:500px;height:300px" data-options="iconcls:'icon-save',modal:true,closed:true"> <form method="post"> 客户姓名 :<input type="text" name="name" class="easyui-validatebox" data-options="required:true"/><br/> 客户性别 : <input type="radio" name="gender" value=" 男 "/> 男 <input type="radio" name="gender" value=" 女 "/> 女 <br/> 客户手机 :<input type="text" name="telephone" class="easyui-validatebox" data-options="required:true"/><br/> 客户住址 :<input type="text" name="address" class="easyui-validatebox" data-options="required:true"/><br/> <a id="savebtn" href="#" class="easyui-linkbutton" data-options="iconcls:'icon-save'"> 保存 </a> </form> </div> 点击按钮, 打开窗口 // 打开编辑窗口 $("#addbtn").click(function(){ $("#win").window("open"); );

提交表单数据 小风 Java 实战系列教程 // 保存数据 $("#savebtn").click(function(){ $("#editform").form("submit",{ //url: 提交到后台的地址 url:"customer/save.action", //onsubmit: 表单提交前的回调函数,true: 提交表单 false: 不提交表 单 onsubmit:function(){ // 判断表单的验证是否都通过了 return $("#editform").form("validate");, //success: 服务器执行完毕回调函数 success:function(data){ //data: 服务器返回的数据, 类型字符串类 // 要求 Controller 返回的数据格式 : // 成功 :{success:true 失败 :{success:false,msg: 错误信息 // 把 data 字符串类型转换对象类型 data = eval("("+data+")"); if(data.success){ $.messager.alert(" 提示 "," 保存成功 ","info"); else{ $.messager.alert(" 提示 "," 保存失败 :"+data.msg,"error"); );

); 3.2. Controller /** * 保存数据 */ @RequestMapping("/save") @ResponseBody public Map<String,Object> save(customer customer){ try { customerservice.save(customer); result.put("success", true); catch (Exception e) { e.printstacktrace(); result.put("success", false); result.put("msg", e.getmessage()); return result; 3.3. Service 接口 : public void save(customer customer); 实现 : public void save(customer customer) {

customermapper.save(customer); 3.4. Mapper package cn.sm1234.dao; import java.util.list; import cn.sm1234.domain.customer; public interface CustomerMapper { /** * 查询所有数据 */ public List<Customer> findal(); /** * 保存数据 * @param customer */ public void save(customer customer);

3.5. sql 映射文件 小风 Java 实战系列教程 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//dtd Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 该文件编写 mybatis 中的 mapper 接口里面的方法提供对应的 sql 语句 --> <mapper namespace="cn.sm1234.dao.customermapper"> <!-- 查询所有数据 --> <select id="findal" resulttype="cn.sm1234.domain.customer"> SELECT id, NAME, gender, telephone, address FROM ssm.t_customer </select> <!-- 添加客户 --> <insert id="save" parametertype="cn.sm1234.domain.customer"> INSERT INTO ssm.t_customer ( NAME, gender, telephone, address )

VALUES ( #{name, #{gender, #{telephone, #{address ) </insert> </mapper> 4. 客户修改的数据回显 4.1. 页面 // 修改数据 $("#editbtn").click(function(){ // 判断只能选择一行 var rows = $("#list").datagrid("getselections"); if(rows.length!=1){ $.messager.alert(" 提示 "," 修改操作只能选择一行 ","warning"); return; // 表单回显 $("#editform").form("load","customer/findbyid.action?id="+rows[0].id); $("#win").window("open");

); 4.2. Controller /** * 根据 id 查询对象 */ @RequestMapping("/findById") @ResponseBody public Customer findbyid(integer id){ Customer cust = customerservice.findbyid(id); return cust; 4.3. Service 接口 : public Customer findbyid(integer id); 实现 : public Customer findbyid(integer id) { return customermapper.findbyid(id); 4.4. Mapper /** * 根据 id 查询对象

* @param id * @return */ public Customer findbyid(integer id); 4.5. sql 映射文件 <!-- 根据 id 查询对象 --> <select id="findbyid" parametertype="int" resulttype="cn.sm1234.domain.customer"> SELECT id, NAME, gender, telephone, address FROM ssm.t_customer where id = #{value </select> 5. 客户修改的更新保存 5.1. 页面 <form id="editform" method="post"> <%-- 提供 id 隐藏域 --%> <input type="hidden" name="id"> 客户姓名 :<input type="text" name="name" class="easyui-validatebox" data-options="required:true"/><br/> 客户性别 :

<input type="radio" name="gender" value=" 男 "/> 男 <input type="radio" name="gender" value=" 女 "/> 女 <br/> 客户手机 :<input type="text" name="telephone" class="easyui-validatebox" data-options="required:true"/><br/> 客户住址 :<input type="text" name="address" class="easyui-validatebox" data-options="required:true"/><br/> <a id="savebtn" href="#" class="easyui-linkbutton" data-options="iconcls:'icon-save'"> 保存 </a> </form> 5.2. Controller 无 5.3. Service public void save(customer customer) { // 判断是添加还是修改 if(customer.getid()!=null){ // 修改 customermapper.update(customer); else{ // 增加 customermapper.save(customer);

5.4. Mapper 小风 Java 实战系列教程 /** * 修改对象数据 * @param customer */ public void update(customer customer); 5.5. sql 映射文件 <!-- 根据 id 修改数据 --> <update id="update" parametertype="cn.sm1234.domain.customer"> UPDATE ssm.t_customer SET NAME = #{name, gender = #{gender, telephone = #{telephone, address = #{address WHERE id = #{id </update> 6. 客户删除 6.1. 页面 // 删除 $("#deletebtn").click(function(){ var rows =$("#list").datagrid("getselections");

if(rows.length==0){ $.messager.alert(" 提示 "," 删除操作至少选择一行 ","warning"); return; // 格式 : id=1&id=2&id=3 $.messager.confirm(" 提示 "," 确认删除数据吗?",function(value){ if(value){ var idstr = ""; // 遍历数据 $(rows).each(function(i){ idstr+=("id="+rows[i].id+"&"); ); idstr = idstr.substring(0,idstr.length-1); // 传递到后台 $.post("custmer/delete.action",idstr,function(data){ if(data.success){ // 刷新 datagrid $("#list").datagrid("reload"); $.messager.alert(" 提示 "," 删除成功 ","info"); else{ $.messager.alert(" 提示 "," 删除失败 : "+data.msg,"error");,"json"); );

); 6.2. Controller /** * 删除数据 */ @RequestMapping("/delete") @ResponseBody public Map<String,Object> delete(integer[] id){ try { customerservice.delete(id); result.put("success", true); catch (Exception e) { e.printstacktrace(); result.put("success", false); result.put("msg", e.getmessage()); return result; 6.3. Service 接口 : public void delete(integer[] id); 实现 : public void delete(integer[] id) {

customermapper.delete(id); 6.4. Mapper /** * 删除数据 * @param id */ public void delete(integer[] id); 6.5. sql 映射文件 <!-- 删除 --> <delete id="delete" parametertype="integer[]"> DELETE FROM ssm.t_customer <where> id <foreach collection="array" item="id" open="in (" close=")" separator=","> #{id </foreach> </where> </delete>