emp表结构

emp表详细信息

xml文件

代码目录

ReadXml.java(使用DOM方式,无需导入xml的相关jar包)
package witersen;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class ReadXml {
public static final String dbDriver = "com.mysql.cj.jdbc.Driver";
public static final String dbUrl = "jdbc:mysql://localhost:3306/xml?useSSL=false&serverTimezone=UTC";
public static final String dbUser = "root";
public static final String dbPass = "";
public static void main(String[] args) throws Exception {
/*db*/
Connection conn = null;
Class.forName(dbDriver);
conn = DriverManager.getConnection(dbUrl, dbUser, dbPass);
/*xml*/
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse("emp.xml");
NodeList nl = doc.getElementsByTagName("emp");
node(nl, conn);
}
public static void node(NodeList list, Connection conn) throws SQLException, ParseException {
for (int i = 0; i < list.getLength(); i++) {
/*Element方式*/
// Element element = (Element)list.item(i);
// NodeList childNodes = element.getChildNodes();
Node node = list.item(i);
NodeList childNodes = node.getChildNodes();
PreparedStatement pstmt = null;
ArrayList<String> lists = new ArrayList<String>();
for (int j = 0; j < childNodes.getLength(); j++) {
if (childNodes.item(j).getNodeType() == Node.ELEMENT_NODE) {
// System.out.print(childNodes.item(j).getNodeName() + ":");
// System.out.println(childNodes.item(j).getFirstChild().getNodeValue());
lists.add(childNodes.item(j).getFirstChild().getNodeValue());
}
}
/*应该插入前判断主键是否存在 或者直接在数据表中去除主键 这里采取第二种*/
String sql = "INSERT INTO xml.emp (empno, ename, job, hiredate, sal, comm) VALUES (?, ?, ?, ?, ?, ?);";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lists.get(0));
pstmt.setString(2, lists.get(1));
pstmt.setString(3, lists.get(2));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date date = sdf.parse(lists.get(3));
long lg = date.getTime();
pstmt.setDate(4, new java.sql.Date(lg));
pstmt.setFloat(5, Integer.parseInt(lists.get(4)));
pstmt.setString(6, lists.get(5));
if (pstmt.executeUpdate() > 0) {
System.out.println("第" + i + "次插入成功");
}
}
}
}
原创文章,作者:witersen,如若转载,请注明出处:https://www.witersen.com
评论列表(1条)
牛逼