每日总结

今天进行了软件构造的作业题书写。

复制代码
package com.example.test;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class JDBC {
    private static Connection connection;
    private static String url="jdbc:mysql://localhost:3306/?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
    private static String user="root";
    private static String pass="";
    static {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        }catch(ClassNotFoundException e){
            e.printStackTrace();
        }
    }
    public static Connection getConnection() {
        try {
            connection=DriverManager.getConnection(url,user,pass);
        }catch(SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }
    public static List<Question> find(int num) {//查询
        Connection conn=JDBC.getConnection();
        PreparedStatement pre=null;
        ResultSet res=null;
        List<Question> questionList=new ArrayList<>();
        String str=null;
        String sql="SELECT * FROM questions limit  "+num;
        try {
            pre=conn.prepareStatement(sql);
            res=pre.executeQuery();
            while(res.next()) {
                String name=res.getString ("ques");
                int pass=res.getInt("res");
                Question question=new Question(name,pass);
                questionList.add(question);
            }
        }
        catch(SQLException e) {
            e.printStackTrace();
            System.out.println("查询错误");
        }finally{
            JDBC.release(conn, pre, res);
        }
        return questionList;
    }
    public static void add(List<Calculate> questionList) {//添加
        Connection connn=JDBC.getConnection();

        try {
            for(int i=0;i<questionList.size();i++) {
                Calculate calculate=questionList.get(i);
                String sql="insert into questions (ques,res) values (?,?) ";
                PreparedStatement ps = connn.prepareStatement(sql);
                ps.setString(1, calculate.toString());
                ps.setInt(2, calculate.getResult());
                ps.executeUpdate();
            }

        }
        catch(SQLException e) {

            e.printStackTrace();
            System.out.println("insert错误");
        }finally{
            JDBC.release(connn, null, null);
        }
    }
    public static void release(Connection connection,Statement statement,ResultSet resultSet) {
        try {
            if(connection!=null) {
                connection.close();
            }
            if(statement!=null) {
                statement.close();
            }
            if(resultSet!=null) {
                resultSet.close();
            }
        }
        catch(SQLException e) {
            e.printStackTrace();
        }
    }
}
复制代码

之后进行数据库的读出写入。

 点击两次读出MySQL

 

posted @   一个小虎牙  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示