- 浏览: 690098 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (254)
- java分布式应用架构 (22)
- SSH框架整合 (6)
- java web 学习笔记 (49)
- java 学习笔记 (56)
- struts 2 学习 (6)
- Hibernate学习 (10)
- spring 学习 (2)
- 客户端编程(javascript) (4)
- IDE使用 (13)
- 生命 人生 (6)
- 系统维护 (3)
- 技术篇 (10)
- MySql (2)
- J2ME (1)
- java网络编程 (4)
- 数据库 (5)
- C/C++ (8)
- Oracle (7)
- 软件测试 (0)
- 软件的安装和部署 (0)
- Java快讯 (1)
- swt (1)
- Flex (1)
- 软件工程 (1)
- PostgreSQL (1)
- sql server2000 (2)
- 嵌入式数据库sqlite (5)
- J2EE (1)
- XML (1)
- ibatis3(MyBatis) (6)
- Linux&Unix (1)
- velocity (1)
- 回报社会 (4)
- 软件项目管理 (3)
- android研究 (3)
- C# (2)
- Objective-C (1)
- 音乐 (0)
- webx (1)
- JMS (1)
- maven软件项目管理 (1)
- 分布式服务 (0)
- 云平台 (0)
- 分布式存储 (1)
- 分布式系统架构 (0)
- 移动互联网 (1)
- ZooKeeper (1)
最新评论
-
liyys:
楼主,可不可以发这个项目的源码工程出来分享一下,少了几个类。楼 ...
仿照Hibernate实现一个SQLite的ORM框架 -
liyys:
少了一些类的源码没有粘贴出来
仿照Hibernate实现一个SQLite的ORM框架 -
honglei0412:
我使用的是这种方式获取db文件的目录但是 URL p = Fi ...
使用sqlite注意事项 -
honglei0412:
大侠 能不能说明下DbFile您是怎么做的吗?
使用sqlite注意事项 -
ahack:
刚写完mapping才发现早就有人写好了。仔细一看还都是针对的 ...
仿照Hibernate实现一个SQLite的ORM框架
1.EditTable.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>EditTable</title>
<link rel="stylesheet" type="text/css" href="css/editTable.css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/editTable.js"></script>
</head>
<body>
<table>
<thead>
<tr>
<th colspan="3">可编辑的表格</th>
</tr>
</thead>
<tbody>
<tr>
<th>学号</th>
<th>姓名</th>
<th>年龄</th>
</tr>
<%
String sno,name;
int age = 0;
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/test","root","");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select sno,name,age from student");
while(rs.next()){
sno = rs.getString("sno");
name = rs.getString("name");
age = rs.getInt("age");
%>
<tr>
<td id="sno"><%=sno%></td>
<td id="name"><%=name %></td>
<td id="age"><%=age %></td>
</tr>
<%}%>
</tbody>
</table>
<div id="result"></div>
</body>
</html>
2.editTable.css
table{
border:1px solid black;
border-collapse:collapse;
width:400px;
}
table td{
border:1px solid black;
width:33%;
}
table th{
border:1px solid black;
width:33%;
}
tbody th{
background-color:#7998DF;
}
#result{
color:red;
}
3.editTable.js
//在页面加载时,让所有的td拥有一个点击事件
$(document).ready(function(){
$("tbody tr:even").css("background-color","#ECE9D8");
var tds = $("tbody td");
tds.click(tdClick);
});
function tdClick(){
//保存当前的td节点
var td = $(this);
//取出当前td节点的文本内容并保存起来
var text = td.text();
//清空td里面的内容
td.html("");//也可以是td.empty();
//建立一个文本框
var input = $("<input>");
//设置文本框的值是刚保存起来的
input.attr("value",text);
input.width(td.width()-1);
input.height(td.height());
//将文本框加入到td中
td.append(input);
//让文本框里的文字高亮选中
var inputDom = input.get(0);
inputDom.select();
//取消td的点击事件
td.unbind("click");
//让文本框响应键盘事件
input.keyup(function(event){
// var myEvent = event || window.event;
// var keyCode = myEvent.keyCode;
var keyCode=event.which;
//判断是否回车键按下
if(keyCode == 13){
//获得文本框
var inputNode = $(this);
// //保存文本框的值
// var inputText = inputNode.val();
// //获得td节点
// var tdNode = inputNode.parent();
// //设置td的值
// tdNode.html(inputText);
// //让td重新拥有点击事件
// tdNode.click(tdClick);
td.html(inputNode.val());
var tmp = td;
// alert(td.prev().text());
var option = td.attr("id");
// alert(td.attr("id"));
// alert(td.parents("tr").children("td").eq(0).text());
var sno = td.parents("tr").children("td").eq(0).text();
var value = inputNode.val();
$.get("http://localhost:8080/EditTable/UpdateStudent?sno="+encodeURI(sno)+"&option="+encodeURI(option)+"&"+option+"="+encodeURI(value),null,function(response){
$("#result").html(response);
});
td.click(tdClick);
}
else if(keyCode == 27){
td.html(text);
}
});
input.blur(function(){
var inputNode = $(this);
var inputText = inputNode.val();
var tdNode = inputNode.parent();
tdNode.html(inputText);
tdNode.click(tdClick);
});
}
4.DBcon.java
package com.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
class DBCon{
private static Connection con = null;
public DBCon(){
}
public synchronized static Connection getConnection()
{
try{
Class.forName("com.mysql.jdbc.Driver"); //加载MYSQL JDBC驱动
}catch (ClassNotFoundException e) {
e.printStackTrace();
}
try{
if(con == null)
con = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
System.out.println("Connect Successfully");
}catch(SQLException e1){
e1.printStackTrace();
}
return con;
}
}
5.CRUD.java
package com.db;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class CRUD {
public static int updateStudent(String sno, String option,String value){
int flag = 0;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "update student set " + option + "=? where sno=?";
try{
pstmt = DBCon.getConnection().prepareStatement(sql);
pstmt.setString(1,value);
pstmt.setString(2,sno);
flag =pstmt.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
}
return flag;
}
}
6.UpdateStudent.java
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String sno = request.getParameter("sno");
String option = request.getParameter("option");
String value = request.getParameter(option);
int flag=CRUD.updateStudent(sno, option, value);
if(flag > 0)
out.println("更新成功!");
else
out.println("更新失败!");
out.flush();
out.close();
}
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>EditTable</title>
<link rel="stylesheet" type="text/css" href="css/editTable.css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/editTable.js"></script>
</head>
<body>
<table>
<thead>
<tr>
<th colspan="3">可编辑的表格</th>
</tr>
</thead>
<tbody>
<tr>
<th>学号</th>
<th>姓名</th>
<th>年龄</th>
</tr>
<%
String sno,name;
int age = 0;
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/test","root","");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select sno,name,age from student");
while(rs.next()){
sno = rs.getString("sno");
name = rs.getString("name");
age = rs.getInt("age");
%>
<tr>
<td id="sno"><%=sno%></td>
<td id="name"><%=name %></td>
<td id="age"><%=age %></td>
</tr>
<%}%>
</tbody>
</table>
<div id="result"></div>
</body>
</html>
2.editTable.css
table{
border:1px solid black;
border-collapse:collapse;
width:400px;
}
table td{
border:1px solid black;
width:33%;
}
table th{
border:1px solid black;
width:33%;
}
tbody th{
background-color:#7998DF;
}
#result{
color:red;
}
3.editTable.js
//在页面加载时,让所有的td拥有一个点击事件
$(document).ready(function(){
$("tbody tr:even").css("background-color","#ECE9D8");
var tds = $("tbody td");
tds.click(tdClick);
});
function tdClick(){
//保存当前的td节点
var td = $(this);
//取出当前td节点的文本内容并保存起来
var text = td.text();
//清空td里面的内容
td.html("");//也可以是td.empty();
//建立一个文本框
var input = $("<input>");
//设置文本框的值是刚保存起来的
input.attr("value",text);
input.width(td.width()-1);
input.height(td.height());
//将文本框加入到td中
td.append(input);
//让文本框里的文字高亮选中
var inputDom = input.get(0);
inputDom.select();
//取消td的点击事件
td.unbind("click");
//让文本框响应键盘事件
input.keyup(function(event){
// var myEvent = event || window.event;
// var keyCode = myEvent.keyCode;
var keyCode=event.which;
//判断是否回车键按下
if(keyCode == 13){
//获得文本框
var inputNode = $(this);
// //保存文本框的值
// var inputText = inputNode.val();
// //获得td节点
// var tdNode = inputNode.parent();
// //设置td的值
// tdNode.html(inputText);
// //让td重新拥有点击事件
// tdNode.click(tdClick);
td.html(inputNode.val());
var tmp = td;
// alert(td.prev().text());
var option = td.attr("id");
// alert(td.attr("id"));
// alert(td.parents("tr").children("td").eq(0).text());
var sno = td.parents("tr").children("td").eq(0).text();
var value = inputNode.val();
$.get("http://localhost:8080/EditTable/UpdateStudent?sno="+encodeURI(sno)+"&option="+encodeURI(option)+"&"+option+"="+encodeURI(value),null,function(response){
$("#result").html(response);
});
td.click(tdClick);
}
else if(keyCode == 27){
td.html(text);
}
});
input.blur(function(){
var inputNode = $(this);
var inputText = inputNode.val();
var tdNode = inputNode.parent();
tdNode.html(inputText);
tdNode.click(tdClick);
});
}
4.DBcon.java
package com.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
class DBCon{
private static Connection con = null;
public DBCon(){
}
public synchronized static Connection getConnection()
{
try{
Class.forName("com.mysql.jdbc.Driver"); //加载MYSQL JDBC驱动
}catch (ClassNotFoundException e) {
e.printStackTrace();
}
try{
if(con == null)
con = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
System.out.println("Connect Successfully");
}catch(SQLException e1){
e1.printStackTrace();
}
return con;
}
}
5.CRUD.java
package com.db;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class CRUD {
public static int updateStudent(String sno, String option,String value){
int flag = 0;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "update student set " + option + "=? where sno=?";
try{
pstmt = DBCon.getConnection().prepareStatement(sql);
pstmt.setString(1,value);
pstmt.setString(2,sno);
flag =pstmt.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
}
return flag;
}
}
6.UpdateStudent.java
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String sno = request.getParameter("sno");
String option = request.getParameter("option");
String value = request.getParameter(option);
int flag=CRUD.updateStudent(sno, option, value);
if(flag > 0)
out.println("更新成功!");
else
out.println("更新失败!");
out.flush();
out.close();
}
发表评论
-
Spring MVC集成velocity扩展
2013-07-23 17:18 32761、扩展velocity的视图 [code=" ... -
Java获取客户端信息
2011-09-07 14:48 1664String agent = request.getHeade ... -
获取IP地址
2011-09-07 13:41 2441public String getIpAddrByReques ... -
netty telnet 应用实例server代码
2011-09-07 12:21 1904public class TelnetServer { ... -
Netty中使用Apache Common FileUpload
2011-09-07 12:19 1298/** * 用Netty来实现上传 */ publi ... -
java管理windows进程
2011-08-29 17:34 1804package org.zzuli.xmsb; /** ... -
java反射工具
2011-08-29 17:30 5479package org.liufei.jweb.reflect ... -
java html工具
2011-08-29 17:26 1097package org.liufei.jweb.util; ... -
java将汉字转化为全拼
2011-08-29 17:24 1249package org.liufei.jweb.util; ... -
JSTL API
2011-08-29 15:13 1818JSTL API -
jdbc操作大观园
2011-08-09 17:22 1395最近公司使用jdbc和mybatis比较多,于是自己试着写了一 ... -
Java处理UTF-8带BOM的文本的读写
2011-08-01 11:28 3059什么是BOM BOM(byte-order mark),即字 ... -
Session和Cookie的区别
2011-06-27 16:34 8921、session保存在服务器,客户端不知道其中的信息;coo ... -
ajax应用时html响应生成工具
2011-05-02 19:00 1149package org.zzuli.xmsb.util; ... -
setTimeout和setInterval的使用
2011-05-01 16:00 1019这两个方法都可以用来 ... -
javasript 经典技巧
2011-03-04 21:30 14751. oncontextmenu="window.e ... -
javascript窗口
2011-03-04 16:31 1051【1、最基本的弹出窗口 ... -
get and post
2011-01-07 17:22 10101. get 是从服务器上获取数据,post 是向服务器传送数 ... -
web开发人员必学的五堂课
2010-12-20 14:42 1005越来越多的Web开发人员 ... -
spring整合MyBatis
2010-11-21 15:08 10581MyBatis Spring 1.0.0-RC2 参考文档 M ...
相关推荐
"jquery可编辑表格插件"就是基于jQuery的一种工具,旨在为网页中的表格提供动态编辑功能,使得用户可以直接在表格中进行数据的增删改查,极大地提升了交互性和用户体验。这种插件在数据展示和管理场景中尤其实用,...
通过以上步骤,我们就实现了使用jQuery编辑表格并在用户保存更改时,通过Servlet将这些更改同步到后台的ORACLE数据库。这个过程涉及到前端的事件处理、Ajax通信,以及后端的Servlet和数据库操作,展示了Web应用中...
在“jquery可编辑表格”这个主题中,我们将深入探讨如何使用jQuery来创建和管理用户可编辑的表格,这对于数据输入和展示场景非常实用。jQuery的选择器和常用方法是实现这一目标的关键。 首先,jQuery选择器是其强大...
**jQuery 可编辑表格详解** 在网页开发中,表格是一种常用的数据展示和操作方式。jQuery 是一个强大的JavaScript库,它可以简化HTML文档遍历、事件处理、动画和Ajax交互。结合jQuery,我们可以创建功能丰富的可编辑...
**jQuery可编辑表格详解** 在Web开发中,表格是一种常用的数据展示方式,而jQuery可编辑表格则让用户体验更上一层楼。它允许用户直接在表格内进行数据编辑,无需跳转页面或刷新,大大提升了交互性和效率。jQuery库...
在本项目中,我们主要探讨如何使用JavaScript创建一个可编辑的网页表格,并通过PHP与MySQL数据库进行交互,实现数据的保存和读取。这是一项基本的前端与后端结合的应用,对于网页应用开发来说是非常基础且重要的技能...
通过以上步骤,我们可以创建一个功能完备、用户体验良好的可编辑表格。JQuery的强大功能使得这个过程变得相对简单,但要注意在实际项目中还需要考虑代码组织、模块化和测试等多方面因素,以确保代码的可维护性和稳定...
在本文中,我们将深入探讨jQuery Easy UI中的`edatagrid`组件,以及如何实现动态编辑表格,特别是下拉框的联动功能。`edatagrid`是jQuery Easy UI库中的一个强大工具,它扩展了基本的`datagrid`功能,提供了更丰富的...
本实例重点在于“jQuery-可编辑表格”,这通常指的是使用jQuery来创建用户可以直接在前端编辑表格数据的功能。这种功能极大地提高了用户与网页交互的便捷性和效率,尤其是对于数据管理和展示的场景。 首先,要实现...
这篇名为“JQuery实现可编辑表格”的博客文章可能深入探讨了如何利用jQuery的功能来创建一个用户可以编辑的表格。在网页设计中,这种功能常用于数据输入或管理应用程序,允许用户直接在表格内修改数据而无需跳转到...
1. **实时编辑**:当用户点击表格中的某个单元格时,jQuery可以通过添加CSS类或属性改变该单元格的样式,使其变为可编辑状态。例如,可以添加一个`contenteditable`属性使单元格变为文本输入框。 2. **事件监听**:...
本文将详细探讨与“jquery 图表插件可编辑表格生成走势图jquery 图表统计”相关的知识点,帮助你更好地理解和应用这些技术。 首先,jQuery图表插件是用于在网页上创建各种可视化数据的工具,它们可以将复杂的数据...
针对“jquery表格可编辑修改表格里面的数据”这个主题,我们将深入探讨如何利用jQuery实现这样的功能。 首先,要创建一个可编辑的表格,我们需要一个基本的HTML结构,如下所示: ```html 姓名 年龄 城市 ...
在这个案例中,当用户编辑表格内容后,jQuery会使用Ajax发送POST请求到PHP脚本,PHP处理请求并更新数据库,同时返回响应,更新表格显示。 6. **HTML和CSS**:HTML构建表格结构,CSS用于美化表格样式。使用适当的CSS...
"jquery php+mysql 表格双击可编辑,表单失去焦点自动提交保存数据"是一个典型的例子,展示了如何结合前端技术和后端技术实现高效的数据管理。以下是这个项目涉及的关键知识点: 1. **jQuery**:jQuery是一个强大的...
在本文中,我们将深入探讨如何使用JQuery来创建一个可编辑的表格,这对于网页应用程序的交互性和用户体验至关重要。...通过以上步骤,我们可以创建一个功能完备且易于维护的可编辑表格,提升用户的在线编辑体验。
在实际应用中,使用可编辑表格的前端开发需要注意以下几点: 1. **数据同步**:确保用户在表格内的编辑能实时反映到后台数据库,通常通过AJAX异步请求实现。 2. **错误处理**:当用户输入无效数据时,需要有明确的...
在`jQuery Table`编辑场景中,`jQuery`用于添加交互性,使得用户能够轻松地编辑表格内容。 要实现鼠标点击表格单元格即可编辑的功能,你需要对表格的每个单元格(`td`元素)添加`click`事件监听器。当用户点击单元格...
【标题】"WebTableSetup(jsp网页可编辑表格)"是一个涉及到网页开发技术的主题,主要聚焦在如何在JSP(JavaServer Pages)环境中创建一个可编辑的表格。JSP是一种动态网页技术,允许开发者将Java代码嵌入到HTML页面中...