已知mysql数据库中创建一个数据库tesst_db_char对应语句为:在数据库中创建数据表tb_db_char DEFAULT CHARACTER SET utf8在数据库中创建数据表tb_emp该表存储学生基本信息对应语句如下所示:create table tb_empid varchar18 primary keyName varchar18sex varchar2age intaddre
database.xml文件内容:
ReadFile类源代码:
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException;
public class ReadFile { private String url; private String user; private String password;
public void parseXML(String filePath) {
try {
File xmlFile = new File(filePath);
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(new FileInputStream(xmlFile));
document.getDocumentElement().normalize();
NodeList nodeList = document.getElementsByTagName("db");
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
this.url = element.getElementsByTagName("url").item(0).getTextContent();
this.user = element.getElementsByTagName("user").item(0).getTextContent();
this.password = element.getElementsByTagName("password").item(0).getTextContent();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public String getUrl() {
return url;
}
public String getUser() {
return user;
}
public String getPassword() {
return password;
}
}
OperateDB类源代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;
public class OperateDB { private Connection connection; private String url; private String user; private String password;
public OperateDB(String url, String user, String password) {
this.url = url;
this.user = user;
this.password = password;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void printAllData() {
String sql = "SELECT * FROM tb_emp";
try {
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
String id = resultSet.getString("id");
String name = resultSet.getString("Name");
String sex = resultSet.getString("sex");
int age = resultSet.getInt("age");
String address = resultSet.getString("address");
System.out.println(id + "\t" + name + "\t" + sex + "\t" + age + "\t" + address);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public void insertData(String id, String name, String sex, int age, String address) {
String sql = "INSERT INTO tb_emp(id, Name, sex, age, address) VALUES(?, ?, ?, ?, ?)";
try {
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, id);
statement.setString(2, name);
statement.setString(3, sex);
statement.setInt(4, age);
statement.setString(5, address);
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ReadFile readFile = new ReadFile();
readFile.parseXML("database.xml");
OperateDB operateDB = new OperateDB(readFile.getUrl(), readFile.getUser(), readFile.getPassword());
System.out.println("初始表数据:");
operateDB.printAllData();
System.out.println("插入新数据:");
operateDB.insertData("2021000000000", "张三", "男", 20, "上海市浦东新区");
operateDB.printAllData();
}
原文地址: https://www.cveoy.top/t/topic/gZ3d 著作权归作者所有。请勿转载和采集!