zoukankan      html  css  js  c++  java
  • JAVA对mysql的基本操作

    一、了解几个概念(了解)

      1.DriverManager

        1)必须知道它是管理数据库的所有驱动程序

        2)它的所有方法都是静态的,其中最重要的是getConnection()方法,我们可以通过它获取一个数据库的连接对象。

      2.Connection

        数据库连接对象

      3.Resultset

        1)用来暂时存放查询结果的一个对象

        2)最重要的方法时next()方法,该方法将指针下移一行

      4.Statement和preparedStatement的区别

        它俩的区别主要是PrepareStatement把sql语句中的变量抽取出来了,它俩可以互相替换使用。

        例子:

    String sql = "select * from users where  username= '"+username+"' and userpwd='"+userpwd+"'";
    stmt = conn.createStatement();
    rs = stmt.executeQuery(sql);
    
    String sql = "select * from users where  username=? and userpwd=?";
    pstmt = conn.prepareStatement(sql);
    pstmt.setString(1, username);
    pstmt.setString(2, userpwd);
    rs = pstmt.executeQuery();

      5.execute、executeQuery和executeUpdate的区别

        1)execute执行增删改查操作

        2)executeQuery执行查询操作,返回的正是ResultSet,再对ResultSet对象进行遍历,即可查询结果。

        3)executeUpdate执行的是增删改操作

    JAVA操作mysql实例:

    说明:对数据库db5中的test表进行操作,test表中有三个字段,分别是name,age,sex

    public class test2 {
    
        private static String url = "jdbc:mysql://localhost:3306/db5";
        private static String user = "root";
        private static String password = "123456";
        private static String DriverName = "com.mysql.jdbc.Driver";
    
        public static Connection GetConn() {
            Connection conn = null;
            try {
                Class.forName(DriverName);
                conn = DriverManager.getConnection(url, user, password);
                System.out.println("数据库连接成功");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                return conn;
            }
        }
    
        public static void insert() throws SQLException {
            Connection conn = GetConn();
    //        String sql = "insert into test(name,age,sex) values ('yj1',1,'f')";
    //        Statement statement = conn.createStatement();
    //        statement.executeUpdate(sql);
            String sql = "insert into test(name,age,sex) values (?,?,?)";
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setString(1, "yj2");
            preparedStatement.setInt(2, 4);
            preparedStatement.setString(3, "f");
            preparedStatement.executeUpdate();
            conn.close();
        }
    
        public static void select() throws SQLException {
            Connection conn = GetConn();
            String sql = "select * from test";
            Statement statement = conn.createStatement();
            ResultSet set = statement.executeQuery(sql);
            String name = null;
            String sex = null;
            int age;
            //next 看是否有下一个数据
            while (set.next()) {
                name = set.getString(1);
                age = set.getInt(2);
                sex = set.getString("sex");
                System.out.println(name + age + sex);
            }
            conn.close();
        }
    
        public static void update() throws SQLException{
            Connection conn = GetConn();
            String sql = "update test set age=? where name = ?";
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setInt(1,200);
            preparedStatement.setString(2,"yj1");
            preparedStatement.executeUpdate();
            conn.close();
        }
    
        public static void delete() throws SQLException{
            Connection conn = GetConn();
            String sql = "delete from test where name = 'yj1'";
            Statement st = conn.createStatement();
            st.executeUpdate(sql);
            conn.close();
        }
    
        public static void main(String[] args) throws SQLException {
    
        }
    }
  • 相关阅读:
    ci
    RN开发杂记
    ‘100%’wuxiao
    Statezhong shiyong redux props
    assemble、compile、make、build和rebuild的关系
    promise
    React Native 通过navigation实现页面间传值
    react native redux
    js中 === 整形和字符串比较
    React Native 中使用Redux
  • 原文地址:https://www.cnblogs.com/yejiang/p/10613580.html
Copyright © 2011-2022 走看看