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. python环境搭建-在Windows上安装python3.5.2

    在Windows上安装Python3.5.2 首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.5.2对应的64位安装程序或32位安装程序(网速慢的同学 ...

  2. Mybatis学习--spring和Mybatis整合

    简介 在前面写测试代码的时候,不管是基于原始dao还是Mapper接口开发都有许多的重复代码,将spring和mybatis整合可以减少这个重复代码,通过spring的模板方法模式,将这些重复的代码进 ...

  3. jQuery基础--样式篇(1)

    1.jQuery简介:JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari ...

  4. [转]oracle设计数据库应选择正确的数据类型

    原文地址:http://blog.sina.com.cn/s/blog_5014663501007n40.html 在设计数据库的时候,选择正确的数据类型,往往可以避免很多的问题,正确理解数据库的类型 ...

  5. 计算机网络-TCP连接

    TCP首部20个字节 1.为什么TCP要三次握手建立连接? TCP连接过程,客户端发送请求到服务器,服务器确认请求发送到客户端,客户端再发送确认请求到服务器 原因:简言之,为了防止失效的连接请求发送到 ...

  6. 折腾笔记之wordpress安装出现错误---【wordpress点击文章找不到网页的解决办法】

    本来写的好好的在后台,然后发表在前台,能够看见在网站首页,但是一点击进去,就提示找不到链接了.郁闷,经过查找资料.终于解决了 1,.htaccess要开放写权限,这样在自定义wp的永久链接时,wp会自 ...

  7. hdu2089 数位dp

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  8. ArrayList实现线程的几种方法

    第一种.给方法名加synchronized Public synchronized void method(){ //-. } 第二种 New synchronized arraylist(); 第三 ...

  9. 【转】Private Libraries、Referenced Libraries、Dependency Libraries的区别

    一.v4.v7.v13的作用和用法 1.Android Support V4, V7, V13是什么? 本质上就是三个java library. 2.为什么要有support库?   是为了解决软件的 ...

  10. Xcode 修改工程名以及注意事项

    1.先把整个工程文件夹名改为新的工程名. 2.打开工程,单击,输入新的工程名,会出现,点击确定. 3.回到工程界面,在中选择 Manage Schemes,然后再弹出的对话框,把工程名改为新的名字. ...