package cn.ytu.mybatis.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Collection; public class JdbcTest { public static void main(String[] args){ Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try{ //加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); //通过驱动管理类获取数据连接 connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/yanda?characterEncodeing=utf-8","root","123456"); //定义sql语句?表示占位符 String sql = "select * from user where username = ?"; //获取预处理的statement preparedStatement = connection.prepareStatement(sql); //设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值 preparedStatement.setString(1,"王五"); //向数据库发出sql执行查询,查询出结果集 resultSet = preparedStatement.executeQuery(); //遍历查询结果集 while(resultSet.next()){ System.out.println(resultSet.getString("id")+" "+resultSet.getString("username")); } }catch(Exception e){ e.printStackTrace(); }finally{ //释放资源 if(resultSet != null){ try{ resultSet.close(); }catch(SQLException e){ e.printStackTrace(); } } } if(preparedStatement != null){ try{ connection.close(); }catch(SQLException e){ e.printStackTrace(); } } if(connection != null){ try{ connection.close(); }catch(SQLException e){ e.printStackTrace(); } } } }
项目结构:
执行结果: