public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws FileNotFoundException, IOException {
ImportElecForm fm = (ImportElecForm) form;
FormFile fj=fm.getFile();
String fname=fj.getFileName().toLowerCase();
if (!(fname.endsWith(".txt"))){
request.setAttribute("msg","您必须上传txt格式的数据文件");
return (new ActionForward("/setting/DataAccess.jsp"));
}
if (!(fj.getFileName().length()>1)){
request.setAttribute("msg","您必须上传的文件不包含数据!");
return (new ActionForward("/setting/DataAccess.jsp"));
}
InputStream sin=fj.getInputStream();
InputStreamReader isr=new InputStreamReader(sin,"GBK");
BufferedReader bfr=new BufferedReader(isr);
Connection con=null;
ResultSet rs=null;
HashMap courseIDs=new HashMap();
int TOTAL_COURSE=0;
StringBuffer sb_failed=new StringBuffer();
StringBuffer sb_success=new StringBuffer();
Session session=null;
try {
session=HibernateUtil.openSession();
con=DBM.getConnection();
Statement stmt=con.createStatement();
//StringTokenizer tokenizer = new StringTokenizer(outputText, "\n");
String line="";
while((line = bfr.readLine()) != null ){
User user=null;
String opcode="";
try{
StringTokenizer st = new StringTokenizer(line, ",");
String username=st.nextToken().trim();
String password=st.nextToken().trim();
//String RealName=new String(st.nextToken().getBytes("ISO8859_1"),"GBK");
//String Sex=new String(st.nextToken().getBytes("ISO8859_1"),"GBK");
String RealName=st.nextToken();
String Sex=st.nextToken();
String StuFlag=st.nextToken().trim();
String ZhuangT=st.nextToken().trim();
//String BeiZ=new String(st.nextToken().getBytes("ISO8859_1"),"GBK");
String BeiZ=st.nextToken();
String v1=st.nextToken().trim();
String v2=st.nextToken().trim();
String v3=st.nextToken().trim();
String role=st.nextToken().trim();
String sql="";
String sql2="";
String sql3="";
boolean uexist=true;
try {
user=(User)session.load(User.class,username);
} catch (HibernateException e) {
user=new User();
uexist=false;
user.setUsername(username);
}
user.setPassword(password);
user.setRealName(RealName);
user.setSex(Sex);
user.setStuFlag(new Integer(StuFlag));
user.setZhuangT(new Integer(ZhuangT));
user.setBeiZ(BeiZ);
if (StuFlag.equals("0")){
user.setWorkerId(v1);
user.setKem(v2);
user.setBum(v3);
//sql="update users set password='"+password+"',realname='"+RealName+"',sex='"+Sex+"',stuflag="+StuFlag+",zhuangt="+ZhuangT+",beiz='"+BeiZ+"',workerid='"+v1+"',kem='"+v2+"',bum='"+v3+"' where username='"+username+"'";
}else{
user.setStuId(v1);
user.setNianJdm(v2);
Stuclass stuclass=(Stuclass)session.load(Stuclass.class,v3);
user.setStuclass(stuclass);
//user.setBanJdm(v3);
//sql="update users set password='"+password+"',realname='"+RealName+"',sex='"+Sex+"',stuflag="+StuFlag+",zhuangt="+ZhuangT+",beiz='"+BeiZ+"',stuid='"+v1+"',nianjdm='"+v2+"',banjdm='"+v3+"' where username='"+username+"'";
}
//System.out.println(sql);
try {
HibernateUtil.beginTransaction();
if (uexist){
opcode="[更新] ";
session.update(user);
}else {
session.save(user);
}
HibernateUtil.commitTransaction();
}catch(Exception e){
e.printStackTrace();
}
/*
try {
stmt.execute("insert into users (username) values('"+username+"');");
}catch(SQLException se){
opcode="[更新] ";
//se.printStackTrace();
}
stmt.execute(sql);
*/
try {
sql3="delete from userrole where username='"+username+"'";
sql2="insert into userrole (username,roleid) values('"+username+"','"+role+"')";
stmt.execute(sql3);
stmt.execute(sql2);
}catch(SQLException se){
}
//sb_success.append(new String(line.getBytes("ISO8859_1"),"GBK"));
sb_success.append(opcode);
sb_success.append(line);
sb_success.append("<br>");
}catch(Exception e){
//sb_failed.append(new String(line.getBytes("ISO8859_1"),"GBK"));
sb_failed.append(opcode);
sb_failed.append(line);
sb_failed.append("<br>");
e.printStackTrace();
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
if (rs!=null)
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (con!=null) DBM.freeConnection(con);
try {
HibernateUtil.closeSession();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
fj.destroy();
try {
Syslog log=new Syslog();
log.setCreateTime(EC.getDateTime());
log.setIp(request.getRemoteAddr());
log.setUsername((String)request.getSession().getAttribute("username"));
log.setDetail("");
log.setLogType("导入用户");
EC.addLog(log);
} catch (HibernateException e) {
e.printStackTrace();
}
request.setAttribute("success",sb_success.toString());
request.setAttribute("failed",sb_failed.toString());
return new ActionForward("/setting/ImportUserState.jsp");
//return (new ActionForward("/setting/DataAccess.jsp"));
}
分享到:
相关推荐
"Java编程将TXT文件数据导入Oracle数据库" Java 编程将 TXT 文件数据导入 Oracle 数据库是指使用 Java 语言编写程序将 TXT 文件中的数据导入 Oracle 数据库中,以方便进行计算、统计等操作。下面将详细介绍该知识...
本范例的核心是利用SuperMap Objects Java库来处理和导入TXT格式的点数据,将其整合到工作空间,并进一步发布为REST地图服务。这涉及到几个关键的技术环节: 1. **文本数据解析**:TXT文件通常包含一系列坐标点,如...
综上所述,Java导入Excel文件涉及的关键技术包括Apache POI库的使用,对HSSF和XSSF的理解,以及对CSV文件处理的技巧。通过熟练掌握这些知识,你可以编写出高效且健壮的文件导入程序,满足各种需求。
本文将详述如何使用Java实现TXT文件与数据库之间的数据导入和导出。 首先,我们来了解一下基础概念。TXT文件是一种常见的文本文件格式,通常用于存储纯文本数据,如表格、日志或简单的数据记录。数据库,如MySQL、...
2. **编程语言接口**:通过编程语言如Python、Java、PHP等,可以读取TXT文件并逐行处理,然后使用相应的数据库驱动(如Python的pymysql库)将数据插入到MySQL中。这在处理大量数据时可能较慢,但提供了更大的灵活性...
在Java编程中,读取TXT文件并将其内容存入数据库是一项常见的任务,特别是在数据处理、日志分析或者导入批量数据的场景下。以下是一个详细的知识点解析,涵盖了如何使用Java来实现这一操作。 1. **读取TXT文件** -...
在Java编程语言中,处理文本文件,特别是TXT文件,是一项常见的任务。无论是读取现有文件的内容,还是创建新的TXT文件并写入数据,都是开发者必须掌握的基本技能。本篇文章将详细探讨如何使用Java来实现这些功能。 ...
本文将详细探讨如何使用Java解析TXT文件并将其中的数据导入到MySQL数据库中。 首先,我们需要了解的是“建表.sql”文件。这个文件通常包含了创建数据库表的SQL语句,用于定义数据的结构和类型。在本场景下,它可能...
java实现页面导入excel文件,保存excel文件到数据库,有需要在页面上导入一个excel表的同学可以借鉴
### Java读取TXT文件知识点详解 #### 一、导入必要的包 在Java程序中,我们需要首先导入处理文件读写的必要类库。在这个示例中,我们看到了`import java.io.*;`这一行代码,它表明了该程序将使用Java标准库中的`...
txt中信息例如:姓名、年龄、年级、学号等信息通过java程序导入到SQL数据库中
在Java编程中,将TXT文件的数据导入到SQL Server数据库是一项常见的任务,这通常涉及到文件读取、数据处理和数据库操作。以下是对标题和描述中涉及的知识点的详细说明: 1. **文件读取**: - `File` 类:用于表示...
从给定的文件信息来看,主要关注点在于Java读取TXT文件的代码示例,以及如何处理和操作从TXT文件中读取的数据。下面将详细解释这一知识点。 ### Java读取TXT文件的基本流程 在Java中,读取TXT文件通常涉及以下几个...
搭建SSH框架,利用JSP前台调用Action类中的方法,从数据库读出数据,导出TXT文件和Excel文件。TXT文件导出只用到流操作。导出Excel文件利用apache的poi第三方包,可在阿帕奇官网下载(最新版本为3.8,支持office2010...
在这个场景下,"java把文本文件内容导入到数据库"是一个典型的应用,它涉及到文本解析、数据库连接以及数据持久化等关键知识点。 首先,我们需要理解文本文件的格式。描述中提到文件内容的字段由“,”分隔,这种...
java 读取txt文本文件中的数据并保存到数据库中源代码,假设txt已有格式,并以","分隔。其中的sql包需要自己去微软官网下载。
### Java上传文件到FTP知识点详解 #### 一、概述 在现代软件开发中,文件传输是一项常见的需求。其中,FTP(文件传输协议)是最常用的一种文件传输方式之一。本篇文章将详细阐述如何利用Java编程语言实现本地文件...
在Java编程中,将数据从TXT文件读取并导入MySQL数据库是一项常见的任务,涉及到文件操作、字符串处理以及数据库交互等多个知识点。以下是对这些关键概念的详细解释: 1. **文件操作**:`FileOper.java`可能包含了对...
在Java编程语言中,操作文件是一项非常常见的任务。本文将详细介绍如何使用Java程序删除本地文件。这涉及到对Java标准库中的`java.io.File`类的理解与应用。 ### 一、理解`java.io.File` `java.io.File`是Java中...
这个Java工程文件旨在提供一个解决方案,帮助开发者读取`.shp`文件,获取其中的几何对象坐标,并将这些坐标写入新的文件中。下面我们将深入探讨如何用Java处理`.shp`文件以及相关的技术要点。 首先,要读取`.shp`...