JSP数据库处理

JSP的数据库操作

经过这两天的操作,我觉得还是要看视频或者买书或者看官方文档学习,网上的资料缺点太多,写的过于简单,甚至兼容性也有问题。所以,搞了一天,终于,把数据库搞出来了~

源码分析

sql.java

package student.servlet;
import java.sql.*;


public class sql {
public static void Update(){
    Statement stmt = null;
    Connection connection = null;
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    String name="root";
    String pwd="957837";
    String url="jdbc:mysql://localhost:3306/myblog";
    try {
     connection = DriverManager.getConnection(url,name,pwd);
     System.out.print("数据库连接成功!");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    try {
        stmt = connection.createStatement();
        String sqlString = "insert into blog values(5,'https','hhhhh','2015-8-9')";
        int lines = stmt.executeUpdate(sqlString);
        System.out.print("插入成功"+lines+"受影响");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 
    try {
        if(stmt != null) {
        stmt.close();
        }
        connection.close();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

public static void Select() {
    Statement stmt = null;
    Connection connection = null;
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    String name="root";
    String pwd="957837";
    String url="jdbc:mysql://localhost:3306/myblog";
    try {
     connection = DriverManager.getConnection(url,name,pwd);
     System.out.print("数据库连接成功");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    try {
        stmt = connection.createStatement();
        String sqlString = "select * from blog";
        ResultSet res = stmt.executeQuery(sqlString);
        System.out.println("查询数据库成功");
        while(res.next()) {
            int num= res.getInt("order_id");
            String title = res.getString("title");
            System.out.println(num);
            System.out.println(title);
        }
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 
    try {
        if(stmt != null) {
        stmt.close();
        }
        connection.close();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

public static void main(String[] args){
//	Update();
    Select();
}

}

代码分析:

  1. 对于连接数据库这种操作,一般不在JSP中操作,而是用javabean来操作,也就是说在创建一个java文件,将其作为数据库处理的文件,然后再JSP文件中连接该文件进行操作。

  2. 引入数据库驱动,首先要去网上下载一个数据库驱动,不同的数据库系统驱动不同,这个是由数据库厂商提供的。下载完之后,就将其copy到Web App Libraries文件夹中。然后就可以使用该Class了。

  3. 然后就是:
    Statement connection = DriverManager.getConnection(url,name,pwd)

使用该句来连接数据库(注意:在Java文件中,该句需要添加try…catch…)。

  1. 增删改数据库:

    Statement stmt = connection.createStatement();

    String sql = “insert…”;

    //该方法返回的是受影响的行数
    int res = connection.executeUpdate(sql)

  2. 查数据库:查数据唯一不同的是执行语句:

    String sql =”…”;

    ResultSet res = connection.executeQuery(sql);

    while(res.next()) {
    int num= res.getInt(“…”);
    String title = res.getString(“…”);
    System.out.println(num);
    System.out.println(title);
    }

注意:在获取数据库内容时,使用:ResultSet res =connection.executeQuery(sql),这个res是一个表的集合。可以类比遇一个Iterator

使用一个while循环来使用获取全部的数据。

res该对象含有:next(),hasNext()等方法来获取下一个。主要的还是get方法。但是获取不同类型的数据需要用不同的get方法:getInt(“name”);getString(“”)…like this。

  1. 最后需要注意的是,连接完数据库后,要把链接关闭。
    1. stmt.close();
    2. connection();

这两个都要被关闭!

##Last but important##
就上面这几句代码,emmmm,在网上找了一天,现在才发现,网上的资料的参差不齐,终归还是要看文档,不行就看书,then,看视频。经验,哈哈哈。还有6天,做一个Demo吧,哈哈哈。

Powered by Hexo and Hexo-theme-hiker

Copyright © 2019 - 2024 My Wonderland All Rights Reserved.

UV : | PV :