01web项目使用JDBC示例
创建Dynamic Web Project项目,复制上篇博文下载的压缩包解压后的jar文件到WebContent/WEB-INF/lib目录下,系统自动加载jar包
关于驱动jar包,目前只能下载两种压缩包一个是mysql-connector-java-5.1.47.zip,一个是mysql-connector-java-8.0.13.zip,两个都可以使用,只是8.0版本的使用方式较之前有所改动,程序中再说这个问题
在Java Resources/src目录下新建java包,创建java文件,就可以使用jdbc访问数据库了
查看驱动的java源码
在Java Resources/Libraries/Web App Libraries/目录下,找到刚导入的jar包,并展开,双击其中的一个Class文件,会如下面图片所示
点击图片箭头所示,进入下一步,如图所示
将压缩包添加到外部环境中,即可
jdbc编程示例:
一般情况下分为以下6步:
- 注册驱动
- 获取连接Connection
- 得到执行sql语句的对象Statement
- 执行sql语句,并返回结果
- 处理结果
- 关闭Connection,释放连接
示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcTest01 {
public static void main(String[]args) throws Exception {
//注册驱动,以反射方式加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//获取连接Connection
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/study1?useSSL=false&serverTimezone=UTC", "root", "root");
///得到执行sequel语句的对象Statement
Statement stmt=conn.createStatement();
//执行sql语句,并返回结果
ResultSet rs=stmt.executeQuery("select * from employee");
处理结果
while(rs.next()) {
System.out.println(rs.getObject("employeenumber"));
System.out.println(rs.getObject("employeename"));
System.out.println(rs.getObject("departmentnumber"));
System.out.println(rs.getObject("salary"));
System.out.println(rs.getObject("hiredate"));
System.out.println("-================");
}
//关闭Connection
rs.close();
stmt.close();
conn.close();
}
}
上述代码是使用mysql8.0版本驱动的写法,
02不同JDBC驱动版本的使用差异
5.1版本的驱动
在第一步注册驱动时,需要用以下的方式
Class.forName("com.mysql.jdbc.Driver");//参数是class文件的位置
第二步获取连接时,url应该是"jdbc:mysql://localhost:3306/study1"
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/study1", "root", "root");
三个参数,1是mysql的固定写法"jdbc:mysql://ip地址:端口号/数据库名",2是"数据库用户名",3是"数据库密码"
第一个参数中localhost是本机地址,如果数据库不在本机,就需要写成别的地址
5.1和8.0版本驱动的区别
首先 8.0版本驱动的位置变化了不再是com.mysql.jdbc.Driver,而是com.java.cj.jdbc.Driver
另外 注意使用mysql8.0驱动时,由于数据库和系统时区差异在jdbc连接的url后面加上serverTimezone=GMT,此外mysql8.0是不需要建立ssl连接的,需要显示关闭所以url后面要加上useSSL=false,而5.1版本是不需要注意这些的
参考:小猴子视频