JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
1.使用JDBC之前首先要在不同数据库的官网下载jdbc对应数据库的jar包文件。
2.在项目中右键找到build path(构建路径)-configer build path(配置构建路径)-add external jar(添加waibu JAR文件),将jdbc文件导入库中。
例子:mysql
package *; /*数据库适配器,帮助器*/ //import java.util.Calendar; import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class MysqlConnect {//调用java.sql相关方法 public static final String url="jdbc:mysql://127.0.0.1:3306/stu"; public static final String name="com.mysql.jdbc.Driver"; public static final String user="root"; public static final String password="zbsy201005"; //java注解@SuppressWarnings("all")压制警告,@Override准确覆写 public static void main(String[] args) { try { Class.forName(name);//反射 //static Connection getConnection(String url,String user,String password) Connection conn=DriverManager.getConnection(url,user,password);//连接数据库,参数 System.out.println("数据库已经打开");//验证 String sql="select student_no,student_name,birthday,department," + "year(now())-year(birthday) as age from student"; PreparedStatement preparedStatement=conn.prepareStatement(sql);//PreparedStatement处理命令
ResultSet resultSet=preparedStatement.executeQuery();//返回结果集 while (resultSet.next()) {//遍历结果集,游标 //String studentNo=resultSet.getString(1);//游标不够直观 //String studentName=resultSet.getString(2); String studentNo=resultSet.getString("student_no"); String studentName=resultSet.getString("student_name"); Date birthday=resultSet.getDate("birthday"); //int year=Calendar.getInstance().getTime().getYear();//有过出现删除线,代表java不建议使用此方法,jdk版本更新后可能会取消此方法 //int age=year-resultSet.getDate("birthday").getYear(); int age2=resultSet.getInt("age"); String department=resultSet.getString("department"); System.out.println("学生编号"+" "+studentNo+" "+"学生姓名 "+studentName+" "+"生日 "+birthday+"年龄"+age2+" "+
" "+"所在系"+department); } preparedStatement.close();//关闭数据库 conn.close();//关闭数据库连接 } catch (Exception e) { e.printStackTrace();//异常处理,一般是写入日志文件,try-catch结构 } } }