提前准备好的数据库——表 student
准备好数据库的架包驱动,我用的是Tomcat服务器,放到Tomcat目录下的Lib文件包里面
import java.sql.*; /** * 演示_2 * 实现基础的JAVA语言链接数据库 * Created by Administrator on 2018/7/9 0009. * * 用PreparedStatement代替ResultSet 解决了sql拼接不安全的问题 */ public class Demo_2 { public static void main(String[] args) { //java实现链接数据库需要6个步骤。 //与特定数据库的连接(会话)。 Connection connection=null; //用于执行静态SQL语句并返回其生成的结果的对象。 PreparedStatement preparedStatement=null; //表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。 ResultSet resultSet=null; try { //需要在异常块里 //步骤一:构建数据库驱动 Class.forName("com.mysql.jdbc.Driver"); //步骤二:链接到指定的数据库 //jdbc:mysql:// 特定语句 //localhost:3306/ localhost表示本机IP : 3306是数据库的端口 (可以不写) //复习_jdbc 表示所要链接的数据库名字 String url="jdbc:mysql://localhost:3306/2018-06-26"; //所要链接的数据库的用户名 String user="root"; //所要链接的数据库的密码 String password="cjk123456"; //用DriverManager.getConnection(数据库路径,用户名,密码)返回类型 Connection connection= DriverManager.getConnection(url,user,password); //检测是否链接成功 if(connection!=null){ System.out.println("链接成功!"); }else{ System.out.println("链接失败!"); } //步骤三:创建SQL语句 用connection.方法返回类型 Statement //sql中的?表示占位符 需要填写的变量 String sql="select * from student where stuId=? and stuPwd=?"; preparedStatement=connection.prepareStatement(sql); //setObject(表示第几个占位符,需要填写的变量) preparedStatement.setObject(1,2018001); preparedStatement.setObject(2,123456); //步骤四:执行sql语句 //查询用executeQuery //增删改用executeUpdate resultSet=preparedStatement.executeQuery(); //步骤五:遍历结果集 while(resultSet.next()){ //getObject当前行中指定列的值 System.out.print(resultSet.getObject("stuId")+"\t"); System.out.print(resultSet.getObject("stuName")+"\t"); System.out.print(resultSet.getObject("stuSex")+"\t"); System.out.print(resultSet.getObject("stuBirthday")+"\t"); System.out.print(resultSet.getObject("stuAddress")+"\t"); System.out.println(resultSet.getObject("stuPwd")+"\t"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }finally { //步骤6:释放资源 重要步骤 不要忘记 //特定写法 //由内而外 if(resultSet!=null){ try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } resultSet=null; } if(preparedStatement!=null){ try { preparedStatement.close(); } catch (SQLException e) { e.printStackTrace(); } preparedStatement=null; } if(connection!=null){ try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } connection=null; } } } }
结果:
原文地址:https://www.cnblogs.com/cjk-bk/p/9285901.html
时间: 2024-08-29 22:49:00