database.xml文件内容:

jdbc:mysql://localhost:3306/test_db_char root 123456

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();
}
已知mysql数据库中创建一个数据库tesst_db_char对应语句为:在数据库中创建数据表tb_db_char DEFAULT CHARACTER SET utf8在数据库中创建数据表tb_emp该表存储学生基本信息对应语句如下所示:create table tb_empid varchar18 primary keyName varchar18sex varchar2age intaddre

原文地址: https://www.cveoy.top/t/topic/gZ3d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录