JDBC(1)——Connection

获取数据库连接是java操作数据库的第一步。在将mysql等数据库的驱动加载到libraries中之后,就可以连接数据库了。
数据库的连接分为以下6个步骤:

  • 注册驱动
  • 获取连接Connection
  • 得到执行SQL语句的Statement
  • 执行SQL语句,并且得到返回结果
  • 处理结果
  • 关闭资源

它们分别对应的代码为

/***注册驱动
Class.forName("com.mysql.jdbc.Driver")
/***获取连接Connection,url为数据库链接,username为用户名,password为密码
Connection conn=DriveManager.getConnection(url,username,password)
/***得到执行SQL语句的Statement
Statement stmt=conn.createStatement();
/***执行SQL语句,得到返回结果
ResultSet rs=stmt.excuteQuery(sql);
/***处理rs
/***关闭资源
rs.close();
stmt.close();
conn.close();

示例代码


import java.sql.*;

/**
 * 步骤:
 * 1、注册驱动
 * 2、获取连接Connection
 * 3、得到执行SQL语句的statement
 * 4、执行sql语句,并返回结果
 * 5、处理结果
 * 6、关闭资源
 */
public class JDBCTest01 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
//        Class.forName("com.mysql.cj.jdbc.Driver");
//        Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/spiders","root","123456");
//        Statement stmt=conn.createStatement();
//        ResultSet rs=stmt.executeQuery("select * from t_user");
//        System.out.println("id name password email ");
//        while (rs.next())
//        {
//            System.out.println(rs.getObject("id").toString()+" "+
//                    rs.getObject("name")+" "+
//                    rs.getObject("password")+" "+
//                    rs.getObject("email"));
//        }
//        rs.close();
//        stmt.close();
//        conn.close();
        String driver="com.mysql.cj.jdbc.Driver",url="jdbc:mysql://localhost:3306/spiders",username="root",password="123456";

        JDBCTest01 jdbcTest01=new JDBCTest01();
        Connection connection=jdbcTest01.OpenConnection(driver,url,username,password);
        jdbcTest01.add(connection,"Siri","123657","[email protected]");

    }
    public Connection OpenConnection(String driver,String url,String username,String password)
    {
        try {
            Class.forName(driver);
            return  DriverManager.getConnection(url,username,password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    public void add(Connection conn,String name,String password,String email) throws SQLException {

        String sql="insert into t_user(name,password,email) values ('Siri','13214','[email protected]')";
//        String sql="insert into t_user(name,password,email) values ( \""+name+"\",\""+password+"\",\""+email+"\"";
//        String sql="insert into t_user(name,password,email) values ("+name+","+password+","+email+")";
        try
        {
            Statement stmt=conn.createStatement();
            //设置自动提交为false
            conn.setAutoCommit(false);
            stmt.executeUpdate(sql);
            conn.commit();
        }catch (SQLException e)
        {
            e.printStackTrace();
            /**
             * 如果出现异常就回滚
             */
            try {
                conn.rollback();
            }catch (SQLException e)
            {
                e.printStackTrace();
            }
        }finally {
            conn.close();
        }

    }
}

你可能感兴趣的:(JDBC(1)——Connection)