Ajax实现xml文件数据插入数据库(二)--- ajax实现与jsp的数据交互。
在上一篇文章中我们成功得到了重新组织后的数据,接下来需要做的便是将数据插入到数据库中了。在与数据库打交道的过程中有一些方法是普遍的,我们将这些通用方法封装到一个DbUtil类中,以便复用,封装好的DbUtil如下:
package DbUtil;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /**
* 封装数据库常用操作
* @author changshou
*
*/
public class DbUtil {
//取得数据库连接
public static Connection getConnection(){
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
String username = "drp1";
String password = "drp1";
conn = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
} //关闭连接
public static void close(Connection conn){
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} //关闭PreparedStatement和Statement
public static void close(PreparedStatement pstmt){
if(pstmt != null){
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} //关闭Statement
public static void close(Statement stmt){
if(stmt != null){
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} //关闭ResultSet
public static void close(ResultSet rs){
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
/**
* 手动开启事务,不让事务自动提交
* @param conn
*/
public static void beginTransaction(Connection conn){
try{
if(conn != null){
if(conn.getAutoCommit()){
conn.setAutoCommit(false);//手动提交
}
} }catch(SQLException e){ }
} /**
* 提交事务
* @param conn
*/
public static void commitTransaction(Connection conn){
try{
if(conn != null){
if(!conn.getAutoCommit()){
conn.commit();
}
} }catch(SQLException e){ }
} /**
* 回滚事务
* @param conn
*/
public static void rollbackTransaction(Connection conn){
try{
if(conn != null){
if(!conn.getAutoCommit()){
conn.rollback();
}
} }catch(SQLException e){ }
} public static void reset(Connection conn){
try{
if(conn != null){
if(conn.getAutoCommit()){
conn.setAutoCommit(false);
}else{
conn.setAutoCommit(true);
}
} }catch(SQLException e){ }
}
}
下面的代码将真正执行数据的插入操作,注意在执行代码前需引入相关jar包,如jdbc驱动等。否则在执行的过程中会报错。
package UserManager;
import java.sql.Connection;
import java.sql.PreparedStatement; import com.sun.org.apache.bcel.internal.generic.RETURN; import DbUtil.*;
public class UserManager { public void insertUser(String userId,String userName,String userRoot){
//执行插入的sql语句
String sql = "INSERT INTO T_TEST1 (USERUD,USERNAME,USERROOT) VALUES (?,?,?)";
Connection conn = null;
PreparedStatement pstmt = null;
try{
//得到数据库连接
conn = DbUtil.getConnection();
pstmt = conn.prepareStatement(sql);
//给占位符赋值
pstmt.setString(1,userId);
pstmt.setString(2, userName);
pstmt.setString(3, userRoot);
//执行插入语句
pstmt.executeUpdate();
}catch(Exception e){
e.printStackTrace(); }finally{
//关闭相关资源
DbUtil.close(pstmt);
DbUtil.close(conn);
}
}
}
总结:将xml文件中的数据插入到数据库中所涉及到的环节主要有四个。第一是前端xml文件的解析。第二是xml数据的传输。第三是数据的重新组合。第四是数据的插入。贯穿这四个环节所涉及的语言分别是xml,javascript,html,java。从当今编程的趋势看,混合语言的使用已经是一种趋势,而解决类似问题的关键就在于将整个过程分成若干块,将每一块提供一个接口,只要接口的实现没有问题,整个过程也不会有太大问题。
Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库。
Ajax实现xml文件数据插入数据库(二)--- ajax实现与jsp的数据交互。
Ajax
Ajax实现xml文件数据插入数据库(二)--- ajax实现与jsp的数据交互。的更多相关文章
- Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库
Ajax实现将xml文件数据插入数据库的过程所涉及到的内容比较多,所以对于该过程的讲解本人打算根据交互的过程将其分为三个部分,第一部分为构建解析xml文件的javascript库,第二部分为ajax与 ...
- xml文件读取到数据库
xml文件读取到数据库 第一步,导包 c3p0,dom4j,jaxen,MySQL-connector 第二步 xml文件,config文件 第三步 javabean 第四步 c3p0的工具类 ...
- Qt的Model/View Framework解析(数据是从真正的“肉(raw)”里取得,Model提供肉,所以读写文件、操作数据库、网络通讯等一系列与数据打交道的工作就在model中做了)
最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章.E文的除了Qt的官方介绍,其它文章也很少.看到一个老外在blog中写道Model/Vi ...
- jQuery ajax解析xml文件demo
解析xml文件,然后将城市列表还原到下拉列表框中:当选择下拉列表框时,在对应的文本框中显示该城市信息. 前端代码: <!doctype html> <html> <hea ...
- mysql 带换行符的字符串数据插入数据库异常
带换行符的字符串数据插入数据库异常现象 某个字符串类型的字段中部分记录中带换行符,数据同步插入异常,提示如下类似警告信息: Incorrect string value:'<aherf=&quo ...
- C/s从文件(TXT)中读取数据插入数据库
流程: 1.当按钮单击时,弹出OpenFileDialog 2.判断后缀名是否合法 3.导入数据库 按钮事件中的代码: 1.判断用户是否选中文件. 2.判断用户选择的文件是否为txt //第一步,当按 ...
- C#程序中:如何向xml文件中插入节点(数据)
向xml文件中动态的添加节点(数据)是一件很爽的事,可以给你的程序带来很多的方便,比如在web中,如果你的Flash用到了xml文件,这个方法可以让你在后台就轻轻松松的更新你的Flash内容哦!一起研 ...
- Java中实现SAX解析xml文件到MySQL数据库
大致步骤: 1.Java bean 2.DBHelper.java 3.重写DefaultHandler中的方法:MyHander.java 4.循环写数据库:SAXParserDemo.java ① ...
- C#中操作xml文件(插入节点、修改、删除)
已知有一个xml文件(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?> <b ...
随机推荐
- C#秘密武器之扩展方法
原文:C#秘密武器之扩展方法 为何要用扩展方法? 作为一个.NET程序猿,我们经常要跟.net自带类库或者第三方dll类库打交道,有时候我们未必能够通过反编译来查看它们的代码,但是我们通常需要给它们扩 ...
- Python 2.7 Exception格式化工具
首先说一个发现: try: 抛错误,抛异常 except Exception as e: 都被这里抓住了 except Error as e: 这里啥事都没了 然后,说说Exception as e的 ...
- windows下oracle数据库定时备份与压缩批处理脚本(win7/win2008亲测通过)
第一种方式:全备份,并直接覆盖原来的备份文件,固定命名. 脚本: @echo off exp system/a123@HZPG file=e:\db_backup\oradata.dmp log=e: ...
- Android从无知到有知——NO.4
因为我们做的是手机安全卫士,因此,我们需要一个地图定位功能,些相关的项目,也有一些教程.到百度官方下载了相关的jar包和API,但自己建项目的时候却不是那么顺利,bug不断,弄得心烦意乱,最后最终臣服 ...
- SQLServer通过链接服务器远程删除数据性能问题解决
原文:SQLServer通过链接服务器远程删除数据性能问题解决 在上一遍文章中介绍了SQLServer通过链接服务器访问Oracle性能问题的解决方法,本文介绍链接服务器下远程删除SQLServer数 ...
- LINUX SCP 远程 文件 复制
首先,以确保直接两个机器IP可以在每个ping通过 然后使用SCP命令从第一台主机向第二台主机复制文件 scp src chiwei@192.168.8.144:/home/chiwei/mydisk ...
- QueryOver<T>
NHibernate 数据查询之QueryOver<T> 一.限制运算符 Where:筛选序列中的项目WhereNot:反筛选序列中的项目 二.投影运算符 Select:创建部分序列的 ...
- document对象属性documentMode与CompatMode
DOCTYPE DOCTYPE全称Document Type Declaration(文档类型声明,缩写DTD) DTD的声明影响浏览器对于CSS代码及Javascript脚本的解析. 渲染模式 渲染 ...
- Date与SimpleDateFormat
Date常用的方法 返回类型 方法名称 备注 Date New Date() 创建当前日期对象 Date New date(long dt) 使用自1970.1.1以后的指定毫秒数创建日期 boole ...
- C#集合基础与运用
C#集合基础与运用 C#集合基础与运用 1. 集合接口与集合类型............................................... 1 (1) 集合的命名空间..... ...