数据库

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. PHP实现字母数字混合验证码

    一款简单的PHP实现字母数字混合验证码,支持自定义验证码.验证码图片.宽度.高度.个数.背景图片等 验证码调用地址:Application\Home\Controller\CodeController ...

  2. SQLServer 导入大容量sql文件

    cmd命令行,管理员身份运行 执行以下语句:E:\dbbak\abhs\SmartEnglish_data.sql 为文件路径,AbhsEnglish 为要导入的数据库 sqlcmd -i E:\db ...

  3. C# 添加log4net日志

    一.添加log4net的Nuget包 二.在Web.config或者App.config文件中添加log4net配置 代码: <log4net> <!-- OFF, FATAL, E ...

  4. 动画方案 Lottie 学习(二)之实战

    代码 $('.success-info-title').append('<p class="normal_finish" id="normal_finish_ani ...

  5. 与 QWidget 有关的 Qt 可视化组件的继承关系图

    与 QWidget 有关的 Qt 可视化组件的继承关系图

  6. js下载blob的形式

    前端构建blob的方式就是通过服务器返回的文件来创建blob,需要知道文件在服务器的具体路径,用bob创建object url对象,添加到a标签上,然后触发,blob有两个问题,1.对浏览器有兼容性限 ...

  7. springBoot2.x 支持跨域请求配置

    提供三种配置方式: 1.配置过滤器,实现 WebMvcConfigurer接口(springboot2.x的方式) @Configuration public class GlobalCorsConf ...

  8. 2 java开发环境的配置步骤

    1  首先需要下载JDK(以java se development kit java标准版开发包) 8.0 如果只是单纯的运行java程序则只需要安装JRE(java runtime envirome ...

  9. git pull文件时和本地文件冲突 方法之一

    1.先将本地修改存储起来 2.pull内容 3.还原暂存的内容 4.解决文件中冲突的的部分 打开 dsa.txt 文件手动解决冲突. 其中Updated upstream 和=====之间的内容就是p ...

  10. Java高并发程序设计学习笔记(八):NIO和AIO

    转自:https://blog.csdn.net/dataiyangu/article/details/87214773 什么是NIOBuffer && ChannelBuffer举个 ...