idea+MySQL的增删改查

1.idea+MySQL主要有以下七步:
加载驱动、创建连接、写sql、得到statement对象、执行sql、处理结果集、关闭资源。
2.以上操作的简单测试源码如下(当然要先在MySQL建表,然后连接数据库):

package com.zhongruan;
import java.sql.*;
public class Test {
    public static void main(String[] args) {
        ResultSet resultSet=null;
        PreparedStatement statement=null;
        Connection connection=null;
        try {
            //1加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2创建连接
            connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/idea?useSSL=true&characterEncoding=utf-8&user=root&password=root");
            //3.写sql
            String sql="select * from userinfo";
            //4.得到statement对象
            statement = connection.prepareStatement(sql);
            //5.执行sql
            resultSet = statement.executeQuery();
            //6处理结果集
            while (resultSet.next()){
                System.out.print(" id: "+resultSet.getInt(1));
                System.out.print(" username: "+resultSet.getString(2));
                System.out.print(" password: "+resultSet.getString(3));
                System.out.println("-----------");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            //7关闭资源
            if(resultSet!=null){
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(statement!=null){
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(connection!=null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

3.要实现增删改查功能,则要修改一下这些代码,我创建的类和包就是下面这样:*
在这里插入图片描述**
4.代码如下(虽然有错误,不过后面会改的,而且增删改查那部分可以参考一下):
(1) test类里面的代码:

package com.zhongruan;
import com.zhongruan.DBUtil.DBUtil;
import com.zhongruan.bean.student;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class test {
    public List<student> findAll () {
        List<student> list = new ArrayList<>();
        ResultSet resultSet = null;
        PreparedStatement statement = null;
        Connection connection = null;
        try {
            connection = DBUtil.connenction();
            //3.写sql
            String sql = "select * from db_ai";
            //4.得到statement对象
            statement = connection.prepareStatement(sql);
            //5.执行sql
            resultSet = statement.executeQuery();
            //6处理结果集
            while (resultSet.next()) {
                String name = resultSet.getString(1);
                String age = resultSet.getString(2);
                String sex = resultSet.getString(3);
                student info = new student(name, age,sex);
                list.add(info);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //7关闭资源
            DBUtil.close(connection, statement, resultSet);
        }
        return list;
    }
    public static void main(String[] args) {
        test t=new test();
        List<student> list = new ArrayList<>();
        list =t.findAll();
        System.out.println(list.toString());
    }
}
**(2)DBUtil类的代码:**
package com.zhongruan.DBUtil;
import java.sql.*;
public class DBUtil {
    ResultSet resultSet = null;
    public static Connection getConnenction(){
        Connection connection =null;
        //1加载驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
            //2创建连接
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?useSSL=true&characterEncoding=utf-8&user=root&password=123456");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return connection;
    }
    //查
    public void queryData() {
        try {
            String sql = "select * from db_ai";
            statement = connection().prepareStatement(sql);
            resultSet =  statement.executeQuery();
            while (resultSet.next()) {//如果当前语句不是最后一条,则进入循环
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String age = resultSet.getString("age");
                String sex = resultSet.getString("sex");
                System.out.println("name:" + name+ "  " + "age:" + age + "  " + "sex:" + sex);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    //增
    public void addData() {
        try {
            statement = connenction().prepareStatement("insert into db_ai(name,age,sex) values(?,?,?)");
            statement.setString(1, "李四");
            statement.setString(2, "15");
            statement.setString(3, "男");
            statement.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    //改
    public void updateData() {
        try {
            statement = connenction().prepareStatement("update db_ai set name = ? where sex = 女");
            statement.setString(1, "阿囡");
            statement.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    //删
    public void deleteData() {
        try {
            Connection connection=null;
            Statement stmt = connection.createStatement();//创建Statement对象
            stmt.executeUpdate("delete from db_ai where sex=男");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void close(Connection connection, PreparedStatement statement, ResultSet resultSet) {
        //7关闭资源
        if (resultSet != null) {
            try{
                resultSet.close();
            }catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (statement != null) {
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
**(3)student类的代码:**
package com.zhongruan.bean;
    public class student {
        public student(String name, String age, String sex ) {
            this.name=name;
            this.age=age;
            this.sex=sex;
        }
        private String name;
        private String age;
        private String sex;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }

        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        @Override
        public String toString() {
            return "student{" +
                    "name='" + name + '\'' +
                    ", age='" + age + '\'' +
                    ", sex='" + sex + '\'' +
                    '}';
        }
    }
  1. student类的代码可以自动生成,只需要自己添加那几个private变量,然后自己百度,不方便透露。

猜你喜欢

转载自blog.csdn.net/wyksbwxs/article/details/93764362