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. [jQuery EasyUI系列] 创建增删改查应用

    一.数据收集并妥善管理数据是网络应用共同的必要.CRUD允许我们生产页面列表并编辑数据库记录. 本文主要演示如何使用jQuery EasyUI实现CRUD DataGrid. 将使用到的插件有: da ...

  2. JNI系列——简便开发流程

    1.编写Java代码 2.选中工程目录--右键单击Android Tools--Add Native Support 3.输入要生成的库名 4.到工程目录中jni目录下对自动生成文件和.mk文件进行相 ...

  3. EditText 几种显示方式,固定行数,自适应行数

    1.显示7行,超过7行自动向下补充行数 <EditText android:id="@+id/edt_content" android:layout_width=" ...

  4. Swift基础--通知,代理和block的使用抉择以及Swift中的代理

    什么时候用通知,什么时候用代理,什么时候用block 通知 : 两者关系层次太深,八竿子打不着的那种最适合用通知.因为层级结构深了,用代理要一层一层往下传递,代码结构就复杂了 代理 : 父子关系,监听 ...

  5. Js-动态控制table的tr、td增加及删除的具体实现

    <table id='wifi_clients_table' style="color:#0099CC;font-size:12px;" class="table ...

  6. 控件 UI: StateTrigger

    VisualState 之 StateTrigger 示例1.自定义 StateTriggerControls/UI/VisualState/MyDeviceFamilyStateTrigger.cs ...

  7. nginx--配置https服务器

    1.下载安装nginx: nginx可以从这里选择对应版本下载,我下载的是1.8.1版本.下载完成后,直接解压缩,命令窗口进入根目录,输入命令: start nginx 在浏览器中,直接输入" ...

  8. 简单的cookie使用

    <html><head><script type="text/javascript">function getCookie(c_name){if ...

  9. Maven项目加载JAR包

    登陆网站找jar包:http://mvnrepository.com/ 1.http://mvnrepository.com/artifact/net.sf.jxls/jxls-core/1.0.6 ...

  10. Lock读写锁技术的妙用

    1.面试题1:三个线程读,三个线程写同一个数据 public class ReadWriteLockTest { public static void main(String[] args) { fi ...