数据库

CREATE DATABASE crmweb;

CREATE TABLE `customerstatus` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '序号',
`customerstatus` varchar(100) DEFAULT NULL COMMENT '客户状态',
`customerdescription` varchar(100) DEFAULT NULL COMMENT '客户描述',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

C3P0

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<named-config name="webs001"> <!-- 自定义配置 -->
<!-- mysql驱动 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<!-- 数据库连接 -->

<property name="jdbcUrl">jdbc:mysql://localhost:3306/crmweb?characterEncoding=utf-8</property>

<!-- 数据库用户名 -->
<property name="user">root</property>
<!-- 数据库密码 -->
<property name="password">mysql</property>
<!-- 初始化连接池大小 -->
<property name="initialPoolSize">10</property>
<!-- 最大空闲时间(秒) - 若为0则永不丢弃 -->
<property name="maxIdleTime">30</property>
<!--每40秒检查所有连接池中的空闲连接。Default: 0 -->
<property name="idleConnectionTestPeriod">40</property>
<!-- 连接池中保留的最大连接数 -->
<property name="maxPoolSize">100</property>
<!-- 最小保留连接数 -->
<property name="minPoolSize">10</property>
<!-- 最大连接数 -->
<property name="maxStatements">200</property>
</named-config>
</c3p0-config>

WEB.xml

<!-- Customerstatus查询 -->

<servlet-mapping>
<servlet-name>Customerstatus</servlet-name>
<url-pattern>/Customerstatus/ajxsel</url-pattern>
</servlet-mapping>

<!-- Customerstatus增加 -->

<servlet-mapping>
<servlet-name>Customerstatus</servlet-name>
<url-pattern>/Customerstatus/ajxadd</url-pattern>
</servlet-mapping>

<!-- Customerstatus删除 -->
<servlet-mapping>
<servlet-name>Customerstatus</servlet-name>
<url-pattern>/Customerstatus/ajxdel</url-pattern>
</servlet-mapping>

Customerstatus.jsp页面

<script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>

<div class="a">
<label>请输入客户状态:</label>
<input type="text" class="inp" />
<input type="button" value="查询" class="inp2"/>
<a href="customerstatustoadd.jsp">
<input type="button" value="添加" class="inp3"/>
</a>
</div>
<div class="d"></div>
<div class="b">
<table>
<tr style="background: #cdeaf9;"><th class="widt">序号</th><th class="width1">客户状态</th><th class="width">状态描述</th><th class="wid">基本操作</th></tr>
<tbody id="td">

</tbody>

<%-- <c:forEach var="v" items="${list }" varStatus="status" >
<tr><td class="widt">${status.index+1}</td>
<td class="width1">${v.customerstatus }</td>
<td class="width">${v.customerdescription }</td>

<td class="wid">
<a href="Customerstatus/delete?id=${v.id }">
<img src="data:images/del.gif"/>
删除</a>
</td>
</tr>
</c:forEach> --%>
</table>

</div>
<div class="c">
<span class="if">共有3条记录,当前第1/1页</span>
<img class="img1" src="data:images/first.gif" />
<img src="data:images/back.gif" />
<img src="data:images/next.gif" />
<img src="data:images/last.gif" />
<font>转到第
<input type="text" class="else"/>
页</font>
<img src="data:images/go.gif" />
</div>

<script type="text/javascript">
$(".inp2").click(function(){
var s=$(".inp").val();
$("tr").each(function(i,x){
if($(x).children().eq(1).text().indexOf(s)<0){
$(x).hide();
}else{$(x).show();}
});
});
$(function(){
$("#td").html("");
sele();
})
function sele(){
$.ajax({
type:"post",
url:"Customerstatus/ajxsel",
data:"",
dataType:"json",
success:function(data){
var html="";
$.each(data,function(i,v){
html+="<tr><td>"+v.id+"</td><td>"+v.customerstatus+"</td><td>"+v.customerdescription+"</td><td><img src='images/del.gif'/><span onclick='dele("+v.id+")'>删除</span></td></tr>"
})
$("#td").html(html);
}
})
}
function dele(v){
var r=confirm("是否确认删除?");
if(!r){return;}
$.ajax({
type:"post",
url:"Customerstatus/ajxdel",
data:{id:v},
dataType:"json",
success:function(data){
if(data.msg){
sele();
}
}
})
}
</script>

Customerstatustoadd.jsp页面

<script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>

<body>
<form id="asdasf">
<table>
<tr><td>
<span>请输入客户类型的详细信息</span>
</td></tr>
<tr><td>
<font>客户状态名称:</font>
<input type="text" name="name" class="a" />
</td></tr>
<tr><td>
<font>客户状态描述:</font>
<input type="text" name="description" class="a" />
</td></tr>
<tr><td>
<input type="button" value="提交" class="b" id="but"/>

<input type="button" value="返回" class="b"/>
</td></tr>
</table>

</form>
</body>
<script type="text/javascript">
$("#but").click(function(){
$.ajax({
type:"post",
url:"Customerstatus/ajxadd",
data:$("#asdasf").serialize(),
dateType:"json",
success: function(data){
window.location.href="customerstatus.jsp"
}
})
});

</script>

Customerstatus.java

protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

Connection connection = null;
String url = request.getServletPath();

if (url.contains("Customerstatus/ajxsel")) {
try {
connection = DButil.getConn();
String sql = "SELECT * FROM customerstatus";
PreparedStatement p = connection.prepareStatement(sql);
ResultSet set = p.executeQuery();
List<ProCustomerstatus> list = new ArrayList<ProCustomerstatus>();
while(set.next()){
ProCustomerstatus v = new ProCustomerstatus();
v.setId(set.getInt("id"));
v.setCustomerstatus(set.getString("customerstatus"));
v.setCustomerdescription(set.getString("customerdescription"));
list.add(v);
}
p.close();
DButil.cClose(connection);
System.out.println(JSONArray.fromObject(list));
response.setCharacterEncoding("utf-8");
response.getWriter().write(JSONArray.fromObject(list).toString());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
else if (url.contains("Customerstatus/ajxdel")) {
int id = Integer.parseInt(request.getParameter("id"));
String sql = "DELETE FROM customerstatus WHERE id=?";
try {
connection = DButil.getConn();
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
preparedStatement.execute();
preparedStatement.close();DButil.cClose(connection);
boolean msg = true;
String json = "{msg:"+msg+"}";
System.out.println(JSONObject.fromObject(json));
response.getWriter().write(JSONObject.fromObject(json).toString());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
else if (url.contains("Customerstatus/ajxadd")) {
request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
String description =request.getParameter("description");
response.setContentType("text/html;charset=utf-8");
try {
connection = DButil.getConn();
String sql = "INSERT INTO customerstatus(customerstatus,customerdescription)VALUES(?,?)";
PreparedStatement p = connection.prepareStatement(sql);
p.setString(1, name);
p.setString(2, description);
p.execute();
p.close();
DButil.cClose(connection);
boolean b = true;
String json = "{b:"+b+"}";
System.out.println(JSONObject.fromObject(json).toString());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

AJAX增删查的更多相关文章

  1. 一套手写ajax加一般处理程序的增删查改

    倾述下感受:8天16次驳回.这个惨不忍睹. 好了不说了,说多了都是泪. 直接上代码 : 这个里面的字段我是用动软生成的,感觉自己手写哪些字段太浪费时间了,说多了都是泪 ajax.model层的代码: ...

  2. EasyUI的增删查改(后台ASP.NET)

    转自:http://www.cnblogs.com/dedeyi/archive/2013/04/22/3035057.html 某某人曾经跟我说,你们做系统不就是增删查改吗. 是啊,很多时候我们就是 ...

  3. ASP.NET动态的网页增删查改

    动态页面的增删查改,不多说了,直接上代码 跟前面的一般处理程序一样我上用的同一套三层,只是UI层的东西不一样,在纠结着要不要重新在上一次以前上过的代码: 纠结来纠结去,最后我觉得还上上吧,毕竟不上为我 ...

  4. knockout+MVC+webapi+sqlserver完成增删查改

    快过年了,公司的事情较少,想着开始学习点新东西.这段时间一个项目用到了mvc和webapi,然后一直对knockout比较感兴趣,就想着用这个框架做一个小实例.数据库采用的是sqlserver.话不多 ...

  5. JAVA原生mvc实现用户信息的增删查改

    笔者最近学完jsp和servlet,于是心血来潮的打算写个简单的用户案例 环境准备: 开发工具eclipse jdk-1.8.0_72 tomcat-9.0.5 前端部分: 1.自己手写了一套样式 2 ...

  6. 学习记录——使用PHP实现数据增删查改等基本功能(前后端分离)

    萌新初次学习服务器端语言,分享学习经验 实现功能:1.显示数据表    2.对数据进行分页    3.对数据进行增删查改 由于本萌新采用前后端完全分离方案,所以数据传输用的ajax,为了提高代码的复用 ...

  7. 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  8. 3.EF 6.0 Code-First实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-entity-framework-5-0-code- ...

  9. 4.在MVC中使用仓储模式进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...

随机推荐

  1. 解MySQL基准测试和sysbench工具

    前言 作为一名后台开发,对数据库进行基准测试,以掌握数据库的性能情况是非常必要的.本文介绍了MySQL基准测试的基本概念,以及使用sysbench对MySQL进行基准测试的详细方法. 文章有疏漏之处, ...

  2. (5.3.2)数据库迁移——SSIS包批量导出

    SSIS连接出错 原因 :    ssms 工具 不是 admin 权限 打开的  SSIS包批量导出代码 use msdb go IF OBJECT_ID('msdb.dbo.usp_ExportS ...

  3. linux:date 计算一组命令所花费的执行时间

    date 命令可以用于计算一组命令所花费的执行时间 可以以不同的格式来读取.设置日期. (1) 读取日期: $ date Thu May 20 23:09:04 IST 2010 (2) 打印纪元时: ...

  4. 在Hadoop中ResourceManager是干什么的?

    [学习笔记] 1)ResourceManager:马克-to-win @ 马克java社区:防盗版实名手机尾号:73203.当应用程序对集群资源需求时,ResourceManager是Yarn集群主控 ...

  5. 19牛客暑期多校 round2 F dfs

    题目传送门//res tp nowcoder dfs 先将所有人都归于一队,之后从一队中取出人放置到另一个队. #include<iostream> #include<cstdio& ...

  6. 使用rpm安装mysql 5.7和依赖们

    在安装mysql-server之前,需要安装相应的依赖,当前系统环境是CentOS7,需要安装3个依赖,mysql-community-common,mysql-community-libs,mysq ...

  7. 16-Perl 文件操作

    1.Perl 文件操作Perl 使用一种叫做文件句柄类型的变量来操作文件.从文件读取或者写入数据到文件需要使用文件句柄.文件句柄(file handle)是一个I/O连接的名称.Perl提供了三种文件 ...

  8. ubuntu 网卡名称重命名

    ubuntu 网卡名称重命名 参考:https://blog.csdn.net/hzj_001/article/details/81587824 biosdevname 和 net.ifnames 两 ...

  9. warning C4819 的解决方法

    编译VC++程序的时候出现如下提示警告: warning C4819: The file contains a character that cannot be represented in the ...

  10. kbmMW 5.09.00是个必须升级的版本!

    这几天遇到的几个问题,从5.08.10升级到5.09.00,自然解决了! 所以建议大家都升级到这个版本. 例如我遇到的问题: 1.在线程中使用ClientQuery注意的问题 2.Invalid pr ...