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();
}
}
代码分析:
对于连接数据库这种操作,一般不在JSP中操作,而是用javabean来操作,也就是说在创建一个java文件,将其作为数据库处理的文件,然后再JSP文件中连接该文件进行操作。
引入数据库驱动,首先要去网上下载一个数据库驱动,不同的数据库系统驱动不同,这个是由数据库厂商提供的。下载完之后,就将其copy到Web App Libraries文件夹中。然后就可以使用该Class了。
然后就是:
Statement connection = DriverManager.getConnection(url,name,pwd)
使用该句来连接数据库(注意:在Java文件中,该句需要添加try…catch…)。
增删改数据库:
Statement stmt = connection.createStatement();
String sql = “insert…”;
//该方法返回的是受影响的行数
int res = connection.executeUpdate(sql)查数据库:查数据唯一不同的是执行语句:
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。
- 最后需要注意的是,连接完数据库后,要把链接关闭。
- stmt.close();
- connection();
这两个都要被关闭!
##Last but important##
就上面这几句代码,emmmm,在网上找了一天,现在才发现,网上的资料的参差不齐,终归还是要看文档,不行就看书,then,看视频。经验,哈哈哈。还有6天,做一个Demo吧,哈哈哈。