请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 562|回复: 0

我的学习之JDBC操作数据库

[复制链接]

33

主题

33

帖子

190

积分

注册会员

Rank: 2

积分
190
发表于 2022-11-10 19:26:23 | 显示全部楼层 |阅读模式
import java.sql.*;
import java.util.Scanner;

/**
*
* @Description:
* @Author:
* @Date: ${YEAR}-${MONTH}-${DAY} ${TIME}
*/public class Main {
    public static void main(String[] args) {
        if (login()){
           add();
           update();
           delete();

        }else {
            System.out.println("登陆失败");
        }
    }
    private static void delete() {
        String sql = "delete from score where sno=? and cno=?";
        Scanner input=new Scanner(System.in);
        System.out.println("请输入删除的学生编号");
        int sno=input.nextInt();
        System.out.println("请输入删除的课程编号");
        int cno=input.nextInt();
        int result = BaseDao.executeupdate(sql,sno,cno);
        if (result > 0) {
            System.out.println("删除成功");
        } else {
            System.out.println("删除失败");
        }
    }
    private static void add() {
        String sql = "insert into score values(?,?,?)";
        Scanner input=new Scanner(System.in);
        System.out.println("请输入添加的学生编号");
        int sno=input.nextInt();
        System.out.println("请输入添加的课程编号");
        int cno=input.nextInt();
        System.out.println("请输入添加的成绩");
        double degree=input.nextDouble();
        int result = BaseDao.executeupdate(sql,sno,cno,degree);
        if (result > 0) {
            System.out.println("添加成功");
        } else {
            System.out.println("添加失败");
        }
    }
    private static void update() {
        String sql="update score set degree=? where sno=? and cno=?";
        Scanner input=new Scanner(System.in);
        System.out.println("请输入准备修改的成绩");
        double degree=input.nextDouble();
        System.out.println("请输入学生编号");
        int sno=input.nextInt();
        System.out.println("请输入课程");
        int cno=input.nextInt();
        int result = BaseDao.executeupdate(sql,degree,sno,cno);
        if (result > 0) {
            System.out.println("修改成功");
        } else {
            System.out.println("修改失败");
        }
    }
    private static void  excuteQuery(){
        Connection connection=null;
        Statement statement=null;
        ResultSet resultSet=null;
        String sql="SELECT * FROM score";
        try {
            connection=BaseDao.createConnection();
            statement=connection.createStatement();
            resultSet=statement.executeQuery(sql);
            while (resultSet.next()){
                System.out.print(resultSet.getString("sno")+"\t");
                System.out.print(resultSet.getString("cno")+"\t");
                System.out.println(resultSet.getString(3));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            BaseDao.closeAll(connection,statement,resultSet);
        }
    }
    private static boolean login(){
        Scanner input=new Scanner(System.in);
        System.out.print("请输入用户:");
        String name=input.next();
        System.out.print("请输入密码:");
        String pwd=input.next();
        String sql="SELECT count(*) FROM admin WHERE userName=? AND userpwd=?";
        Connection connection=null;
        PreparedStatement statement=null;
        ResultSet resultSet=null;
        try {
            connection=BaseDao.createConnection();
            //statement=connection.createStatement();
            statement=connection.prepareStatement(sql);
            statement.setObject(1,name);
            statement.setObject(2,pwd);
            resultSet=statement.executeQuery();
            if(resultSet.next()){
                int result=resultSet.getInt(1);
                return result>0;
            }
        } catch (SQLException e) {
           e.printStackTrace();
        }finally {
            BaseDao.closeAll(connection,statement,resultSet);
        }
        return false;
    }
}




import java.io.IOException;
import java.sql.*;
import java.util.Properties;

/**
* @Description:
* @Author:
* @Date: 2022-11-10 10:34
*/
public class BaseDao {
    static String url="";
    static String user="";
    static String pwd="";
    static String driver="";
    static {
        init();

        try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    private static void init() {
        Properties properties=new Properties();
        try {
            properties.load(BaseDao.class.getResourceAsStream("jdbc.properties"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        url=properties.getProperty("jdbc.url");
        user=properties.getProperty("jdbc.username");
        pwd=properties.getProperty("jdbc.password");
        driver=properties.getProperty("jdbc.driver");
    }

    public static Connection createConnection(){
        Connection connection=null;
        try {
            connection=DriverManager.getConnection(url,user,pwd);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }
    public static void  closeAll(Connection connection, Statement statement, ResultSet resultSet){
            try {
                if (resultSet!=null) resultSet.close();
                if (statement!=null) statement.close();
                if (connection!=null) connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
    }

    public static int executeupdate(String sql,Object ...obj){
        Connection connection=null;
        PreparedStatement statement=null;
        try {
            connection=createConnection();
            statement=connection.prepareStatement(sql);
            for(int i=0;i<obj.length;i++){
                statement.setObject(i+1,obj);
            }
            return statement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            closeAll(connection,statement,null);
        }
        return 0;
    }
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2023-12-1 20:07 , Processed in 0.040767 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表