java 将xlm文件传入mysql数据库

将一份xml文件通过java 导入mysql数据库,编程工具:eclipse

xml文件如下:

位置:C:\Users\hh\Desktop\test\data.xml

<?xml version="1.0" encoding="UTF-8"?>
<xml>
  <CreateTime>1</CreateTime>
  <Question>王者荣耀</Question>
  <Category>1</Category>
  <Place>小乔</Place>
  <Type>小乔,要努力变强</Type>
</xml>

需要向工作空间添加jar包:dom4j-1.6.1.jar 和jaxen-1.1.6.jar

我用servlet写的java文件,如下:

package servletTest;

import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * Servlet implementation class xmltest3
 */
@WebServlet("/xmltest3")
public class xmltest3 extends HttpServlet {
	private static final long serialVersionUID = 1L;
    
	public static void main(String[] args) {
		
		String driverName="com.mysql.jdbc.Driver";
	        String dbURL="jdbc:mysql://127.0.0.1:3306/你自己的mysql数据库名?seUnicode=true&characterEncoding=UTF-8";//?seUnicode=true&characterEncoding=UTF-8  用来解决mysql中文乱码问题
		String userName="你自己的登录名";
		String userPwd="你自己的密码";
		Connection dbConn;

		String sql="insert into xmltest3(CreateTime, Question, Category, Place,Type) values (?, ?, ?, ?,?)"; 
		  try
		  {
		   Class.forName(driverName);//加载JDBC驱动程序
		   dbConn=DriverManager.getConnection(dbURL,userName,userPwd);//建立驱动程序与数据库之间的链接
		   Statement stmt=dbConn.createStatement();//利用连接对象dbConn创建Statement接口对象stmt	 
		   java.sql.PreparedStatement pstmt=dbConn.prepareStatement(sql);
 		   Document doc=new SAXReader().read(new File("C:/Users/guodai/Desktop/haha/haha.xml")); 
		   
         List itemList=doc.selectNodes("XML");//选择xml文件的节点
		   for(Iterator iter=itemList.iterator();iter.hasNext();){  
             Element el=(Element)iter.next();  
             //读取节点内容  
             String createtime=el.elementText("CreateTime");  
             String question = el.elementText("Question");  
             String category = el.elementText("Category"); 
             String place = el.elementText("Place"); 
             String type = el.elementText("Type");           
             //为sql语句赋值  
             pstmt.setString(1, createtime);  
             pstmt.setString(2, question);  
             pstmt.setString(3, category);  
             pstmt.setString(4, place);  
             pstmt.setString(5, type); 
             pstmt.addBatch(); 
         }  
         pstmt.executeBatch();  
         System.out.print("将XML导入数据库成功"); 
         System.out.print(pstmt);
			 dbConn.close();
}
	    catch (Exception e) {
			e.printStackTrace();
			System.out.print("返回结果失败");
		} 
	}
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值