【JSP】JDBC建立数据库连接

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_38018291/article/details/79950469
try{
        Class.forName("com.mysql.jdbc.Driver");//加载驱动程序;
        //class是java.long中的一个类,该类通过调用静态方法forName建立JDBC-ODBC桥接器,即加载驱动程序。


    //2.获取数据库连接
         con = DriverManager.getConnection("jdbc:mysql://localhost:3306/newsdb?useUnicode=true&characterEncoding=utf-8","root","root");//(url,user,password)
        //DriverManager位于JDBC的管理层作用在用户和驱动程序之间

    //3.发送SQL语句执行对象
        Statement stm = con.createStatement();


    //4.建立SQL语句
        String sql = "select * from news_users where uname = '"+uname+"' and upwd = '"+upwd+"'";


    //5.执行SQL,返回查询结果哦【建立ResultSet(结果集)对象;并执行SQL语句】
        ResultSet rs = stm.executeQuery(sql);

    //判断查询结果是否有数据
    if(rs.next()){
        flag = true;
        }

}catch(Exception e){
    e.printStackTrace();
    flag = false;//登录成功标志,ture

}finally{
    if(con != null){
    con.close();//释放资源
    }
}

JDBC提供了3个类向数据库发送SQL语句

1、statament

对象创建方法:connection的creatStatement方法,用于发送不带参的SQL语句,对数据了进行具体操作,如查询,修改等。在执行一个SQL查询语句前,必须使用creatStatement方法建立一个statement对象
如代码中的,stm就是一个对象。

2、prepareStatement

prepareStatement类的对象由Connecton 的prepareStatement方法创建,它用来执行带或不带IN参数的预编译SQL语句。
statement对象在每次执行SQL语向时都将该语句发送给数据库,所以执行效率比较低,而prepareStatement对象预编译过,所以
执行速度比Statement 快。因此多次执行的SQL 语句常被创建成PrepartStatemen 对象。例如:

Connection conn=DriverManager.getConnection ("jdbc:odbc;bookshoplk","sa","") ;
PrepareStatement pstmt = conn.PrepareStatement ("SELECT * FROM booktable") ;

3、CallableStatement

CallableStatement 类的对象由Connection 的prepareCall方法创建,它用来执行 数据库已存储过程的调用。例如:

Conmection con = DriverManager.getConnection ("jdbc:odbc;bookshoplk","sa","") ;
 callableStatement cstmt = conn.PrepareCall("{call getData(?,?)}");

其中.getData 是存储过的过程名。“?”表示: IN、OUT 或INOUT。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页