1.action的写法

开头写包,此外,我们还有一个和action并列的package-info.java的文件,该文件是包的信息,media为我的文件夹里面放三个文件夹(action,bpo,mapper)

@org.apache.struts2.convention.annotation.Namespace("/media")
package com.****.***.media.action;

package com.****.***.media.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.apache.struts2.convention.annotation.Action;

import com.****.***.common.web.BaseAction;//导入基本的baseaction文件
import com.****.***.media.bpo.MediaManageBPO;//导入bpo
public class MediaManageAction extends BaseAction {//继承基本的baseaction

然后在类中写

private static final long serialVersionUID = 3791581176290177353L;

private String MEDIA_ID;//一般是和数据库对应的字段
private String MEDIA_NAME;
private String MEDIA_DOMAIN;
private String MEDIA_TYPE;

@Resource
private MediaManageBPO mediaManageBPO;

/**
* 获取所有数据库中媒体的信息
* @return
*/
@Action(value="getMediaInfo")
public String getMediaInfo(){
//定义一个列表,列表中保存多个map对象
List<Map<String,Object>> rsList = new ArrayList<Map<String,Object>>();
rsList = mediaManageBPO.getMediaInfo();
outputJson(rsList);
return NONE;
}


/**
* 查询数据库中媒体的信息
* @return
*/
@Action(value="searchMediaInfo")
public String searchMediaInfo(){
//定义一个map,保存多个键值对
Map<String,Object> argMap = new HashMap<String,Object>();
argMap.put("MEDIA_ID", MEDIA_ID);
argMap.put("MEDIA_NAME", MEDIA_NAME);
argMap.put("MEDIA_DOMAIN", MEDIA_DOMAIN);
argMap.put("MEDIA_TYPE", MEDIA_TYPE);
//定义一个列表,列表中保存多个map对象
List<Map<String,Object>> rsList = new ArrayList<Map<String,Object>>();
rsList = mediaManageBPO.searchMediaInfo(argMap);
outputJson(rsList);
return NONE;
}


/**
* 添加数据库中媒体的信息
* @return
*/
@Action(value="addMediaInfo")
public String addMediaInfo(){
//定义一个map,保存多个键值对
Map<String,Object> argMap = new HashMap<String,Object>();
argMap.put("MEDIA_ID", MEDIA_ID);
argMap.put("MEDIA_NAME", MEDIA_NAME);
argMap.put("MEDIA_DOMAIN", MEDIA_DOMAIN);
argMap.put("MEDIA_TYPE", MEDIA_TYPE);
//定义一个列表,列表中保存多个map对象
mediaManageBPO.addMediaInfo(argMap);
outputString("SUCCESS");
return NONE;
}


/**
* 删除数据库中媒体的信息
* @return
*/
@Action(value="removeMediaInfo")
public String removeMediaInfo(){
//定义一个map,保存多个键值对
Map<String,Object> argMap = new HashMap<String,Object>();
argMap.put("MEDIA_ID", MEDIA_ID);
argMap.put("MEDIA_NAME", MEDIA_NAME);
argMap.put("MEDIA_DOMAIN", MEDIA_DOMAIN);
argMap.put("MEDIA_TYPE", MEDIA_TYPE);
//定义一个列表,列表中保存多个map对象
mediaManageBPO.removeMediaInfo(argMap);
outputString("SUCCESS");
return NONE;
}


/**
* 修改数据库中媒体的信息
* @return
*/
@Action(value="editMediaInfo")
public String editMediaInfo(){
//定义一个map,保存多个键值对
Map<String,Object> argMap = new HashMap<String,Object>();
argMap.put("MEDIA_ID", MEDIA_ID);
argMap.put("MEDIA_NAME", MEDIA_NAME);
argMap.put("MEDIA_DOMAIN", MEDIA_DOMAIN);
argMap.put("MEDIA_TYPE", MEDIA_TYPE);
//定义一个列表,列表中保存多个map对象
mediaManageBPO.editMediaInfo(argMap);
outputString("SUCCESS");
return NONE;
}


public String getMEDIA_ID() {
return MEDIA_ID;
}

public void setMEDIA_ID(String mEDIA_ID) {
MEDIA_ID = mEDIA_ID;
}

public String getMEDIA_NAME() {
return MEDIA_NAME;
}

public void setMEDIA_NAME(String mEDIA_NAME) {
MEDIA_NAME = mEDIA_NAME;
}

public String getMEDIA_DOMAIN() {
return MEDIA_DOMAIN;
}

public void setMEDIA_DOMAIN(String mEDIA_DOMAIN) {
MEDIA_DOMAIN = mEDIA_DOMAIN;
}

public String getMEDIA_TYPE() {
return MEDIA_TYPE;
}

public void setMEDIA_TYPE(String mEDIA_TYPE) {
MEDIA_TYPE = mEDIA_TYPE;
}

2.写bpo

@Resource
MediaManageMapper mediaManageMapper;

//获取媒体信息
public List<Map<String, Object>> getMediaInfo() {
return mediaManageMapper.getMediaInfo();
}

//查询媒体信息
public List<Map<String, Object>> searchMediaInfo(Map<String, Object> argMap) {
return mediaManageMapper.searchMediaInfo(argMap);
}

//添加媒体信息
public void addMediaInfo(Map<String, Object> argMap) {
mediaManageMapper.addMediaInfo(argMap);
}

//删除媒体信息
public void removeMediaInfo(Map<String, Object> argMap) {
mediaManageMapper.removeMediaInfo(argMap);
}

//修改媒体信息
public void editMediaInfo(Map<String, Object> argMap) {
mediaManageMapper.editMediaInfo(argMap);
}

3.写mapper

(mapper中定义接口,getMediaInfo()和searchMediaInfo()方法有返回值,后面的三个方法没有返回值)

public interface MediaManageMapper {

//获取媒体信息
List<Map<String, Object>> getMediaInfo();

//查询媒体信息
List<Map<String, Object>> searchMediaInfo(Map<String, Object> argMap);

//添加媒体信息
void addMediaInfo(Map<String, Object> argMap);

//删除媒体信息
void removeMediaInfo(Map<String, Object> argMap);

//修改媒体信息
void editMediaInfo(Map<String, Object> argMap);
}

4.写xml(mybatis中的sql语句)

<?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">

<!-- 引入mapper namespace-->
<mapper namespace="com.****.***.media.mapper.MediaManageMapper">

<!-- SQL查询语句 ,获取表的所有内容-->

<select id="getMediaInfo" parameterType="map" resultType="map">
select t.* from wpgl.wp_assess_media t
</select>

<!-- SQL查询语句 ,查询表的内容-->
<select id="searchMediaInfo" parameterType="map" resultType="map">
select t.* from wpgl.wp_assess_media t
<where>
<if test="MEDIA_ID!=null and MEDIA_ID!=''">
t.MEDIA_ID = #{MEDIA_ID}
</if>
<if test="MEDIA_NAME!=null and MEDIA_NAME!=''">
and t.MEDIA_NAME = #{MEDIA_NAME}
</if>
<if test="MEDIA_DOMAIN!=null and MEDIA_DOMAIN!=''">
and t.MEDIA_DOMAIN = #{MEDIA_DOMAIN}
</if>
<if test="MEDIA_TYPE!=null and MEDIA_TYPE!=''">
and t.MEDIA_TYPE = #{MEDIA_TYPE}
</if>
</where>
</select>

<!-- SQL插入语句 ,输入输出参数类型都定义为map类型-->

<insert id="addMediaInfo" parameterType="map" >
insert into wpgl.wp_assess_media t (t.MEDIA_ID,t.MEDIA_NAME,t.MEDIA_DOMAIN,t.MEDIA_TYPE)
values(#{MEDIA_ID},#{MEDIA_NAME},#{MEDIA_DOMAIN},#{MEDIA_TYPE})
</insert>


<!-- SQL删除语句 ,输入输出参数类型都定义为map类型-->

<delete id="removeMediaInfo" parameterType="map" >
delete from wpgl.wp_assess_media t
<where>
<if test="MEDIA_NAME!=null and MEDIA_NAME!=''">
t.MEDIA_NAME = #{MEDIA_NAME}
</if>
</where>
</delete>

<!-- SQL修改语句 ,输入输出参数类型都定义为map类型-->

<update id="editMediaInfo" parameterType="map" >
update wpgl.wp_assess_media t
<set>
<if test="MEDIA_NAME!=null and MEDIA_NAME!=''">
t.MEDIA_NAME = #{MEDIA_NAME} ,
</if>
<if test="MEDIA_DOMAIN!=null and MEDIA_DOMAIN!=''">
t.MEDIA_DOMAIN = #{MEDIA_DOMAIN} ,
</if>
<if test="MEDIA_TYPE!=null and MEDIA_TYPE!=''">
t.MEDIA_TYPE = #{MEDIA_TYPE}
</if>
</set>
<where>
<if test="MEDIA_ID!=null and MEDIA_ID!=''">
t.MEDIA_ID = #{MEDIA_ID}
</if>
</where>

</update>

</mapper>

datagrid---写后台数据交互的更多相关文章

  1. MUI框架-09-MUI 与后台数据交互

    MUI框架-09-MUI 与后台数据交互 本篇介绍使用 art-template 和原生 MUI 的数据交互 mui.ajax 来实现 我们大家都知道,想要数据交互就要有数据,每次当我们发送请求,我们 ...

  2. --@angularJS--自定义服务与后台数据交互小实例

    1.myService.html: <!DOCTYPE HTML><html ng-app="app"><head>    <title& ...

  3. --@angularJS--$http服务与后台数据交互

    1.httpBasic.html: <!DOCTYPE HTML><html ng-app="app"><head>    <title& ...

  4. AntDesign(React)学习-10 Dva 与后台数据交互

    明天正式在线办公没时间学习了,今天晚上再更新一篇, 代码提交一次:https://github.com/zhaogaojian/jgdemo 1.src下创建services目录 创建文件userSr ...

  5. vue-cli模拟后台数据交互

    作为一个前端入坑的妹子,在学习vue的道路上挣扎徘徊,由一开始的对vue一直蒙圈只知道双向数据绑定和一些'V-x'的指令,慢慢通过一个视频的学习渐渐入坑,对于我这个js基础不怎么好而且编程思维又不是很 ...

  6. web前端与后台数据交互

    1.前端请求数据URL由谁来写? 在开发中,URL主要是由后台来写的,写好了给前端开发者.如果后台在查询数据,需要借助查询条件才能查询到前端需要的数据时,这时后台会要求前端提供相关的查询参数,这里的查 ...

  7. 使用Jquery.AJAX方法和PHP后台数据交互小结

    使用jQuery的AJAX方法和后台PHP进行数据交互,交互采用的数据格式JSON格式. 我主要小小的总结了一下,我使用AJAX方法时候遇到一些小小的问题. 第一:在传递数据的时候,传输地址注意是否正 ...

  8. js前台与后台数据交互-前台调后台

    转自:http://blog.csdn.net/wang379275614/article/details/17033981   网站是围绕数据库来编程的,以数据库中的数据为中心,通过后台来操作这些数 ...

  9. 在ssm框架中前后台数据交互均使用json格式

    前后台数据交互均使用json. 框架ssm(spring+springmvc+mybatis) @RequestBody注解实现接收http请求的json数据,将json数据转换为java对象,注解加 ...

  10. 【前端统计图】hcharts实现堆叠柱形图(与后台数据交互)

    原型图类似如下: 图片.png <!DOCTYPE > <html> <head> <meta charset="utf-8">&l ...

随机推荐

  1. 50-ln 简明笔记

    为文件建立链接 ln [options] existing-file [new-link] ln [options] existing-file-list directory ln可以为一个或多个文件 ...

  2. oracle如何获取每个月的最后一天

    SELECT LAST_DAY(DATE'2016-09-23') FROM DUAL;

  3. Oracle报 ORA-00054资源正忙的解决办法

    来源于:http://www.cnblogs.com/loveLearning/p/3625544.html oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT 问题如下: S ...

  4. freemarker 分页取值

    <#if pagination??&&pagination.list??> <#list pagination.list as video> <td al ...

  5. MVC 理解小谈

    1. 如何理解MVC MVC 是一种经典的设计模式,全名为 Model-View-Controller,即 模型-视图-控制器. 其中,模型 是用于封装数据的载体,其本质是一个普通的 Java Bea ...

  6. python求职之路

    自我介绍 这是一道送分题,万年不变的第一个问题.不过有些小伙伴可能没有太在意,其实这个问题已经在面试官心中决定了你的去留意向.自我介绍的主要结构:个人基本信息 + 基本技术构成 + 项目经验(具体项目 ...

  7. Code::Blocks的魅力

    Code::Blocks是C/C++集成开发环境,就像Dev C++.Visual Studio. 一.码代码时的技巧 按住Ctrl滚动鼠标滚轮,改变字体大小. Ctrl+D可复制当前行或选中块. C ...

  8. Hive 按某列的部分排序 以及 删列操作

    脑袋果然还是智商不足. 涉及到的小需求: 某个表test 有一列 tc: a字符串+b字符串+c字符串 拼接组成 把test表,按b字符串排序 输出 遇到的问题: select 里面必须包含 orde ...

  9. 【BZOJ-4590】自动刷题机 二分 + 判定

    4590: [Shoi2015]自动刷题机 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 156  Solved: 63[Submit][Status ...

  10. 【BZOJ-4519】不同的最小割 最小割树(分治+最小割)

    4519: [Cqoi2016]不同的最小割 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 393  Solved: 239[Submit][Stat ...