IDEA使用JDBC连接数据库:其实就是将mysql的jar文件(第三方文件)引入java中;
新建project—在新建的project上右击:open module setting—libraries–java—找下载的jdbc的jar文件所在位置即可;
注意:如果有另一个项目b,这个时候要单独再给b再引一次jdbc。
代码:
import java.sql.*;
import java.util.*;
public class JDBCTest05 {
public static void main(String[] args) {
// 1、注册驱动
// 2、建立连接
// 3、获取数据库操作对象
// 4、执行sql语句
// 5、获取查询结果集
// 6、释放资源
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
ResourceBundle rb = ResourceBundle.getBundle("jdbc");
String driver = rb.getString("driver");
String url = rb.getString("url");
String user = rb.getString("user");
String password = rb.getString("password");
// 1、注册驱动---反射,会导致类加载加载机制
Class.forName(driver);
// 2、建立连接
conn = DriverManager.getConnection(url,user,password);
// 3、获取数据库操作对象
stmt = conn.createStatement();
//4.执行sql语句
rs = stmt.executeQuery("select empno,ename,sal from emp");
// 5、获取查询结果集
while(rs.next()){
/*取数据
//jdbc中所有下表从1开始,不是从0开始;下面的1,2,3,说的是第几列
//getstring方法:不管数据库中的数据类型是什么,都是以string类型取出
String empno = rs.getString(1);
String ename = rs.getString(2);
String sal = rs.getString(3);
System.out.println(empno + "," + ename + "," + sal);
*/
/*
// 按下标取出,程序不健壮
//下面以列的名字取出;注意:列的名称,不是表中的列名称,而是查询结果集中的列名称
String empno = rs.getString("empno");
String ename = rs.getString("ename");
String sal = rs.getString("sal");
System.out.println(empno + "," + ename + "," + sal);
*/
/*
// 以指定的格式取出
int empno = rs.getInt(1);
String ename = rs.getString(2);
double sal = rs.getDouble(3);
System.out.println(empno + "," + ename + "," + (sal + 100));
*/
int empno = rs.getInt("empno");
String ename = rs.getString("ename");
double sal = rs.getDouble("sal");
System.out.println(empno + "," + ename + "," + (sal + 200));
}
} catch(Exception e){
e.printStackTrace();
}finally{
//6.释放资源
if(rs != null){
try{
rs.close();
} catch (Exception e){
e.printStackTrace();
}
}
if(stmt != null){
try{
stmt.close();
} catch (Exception e){
e.printStackTrace();
}
}
if(conn != null){
try{
conn.close();
} catch (Exception e){
e.printStackTrace();
}
}
}
}
}
版权声明:本文为m0_46598535原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。