第十八章JDBC

mac2022-06-30  36

1.使用jdbc连接数据库:

  a.导入驱动jar包   b.Class.forName(DRIVER);   // 2.建立连接   con = DriverManager.getConnection(URL, USERNAME, PWD);

2.增、删、改:(只要修改sql就可实现)  import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.SQLException;  import java.sql.Statement;

  public class UpadateTest {     public static final String DRIVER = "com.mysql.jdbc.Driver";     public static final String URL = "jdbc:mysql://localhost:3306/petstore";     public static final String USERNAME = "root";     public static final String PWD = "root";

    public static void main(String[] args) {       Connection con = null;       Statement statement = null;       try {         Class.forName(DRIVER);         con = DriverManager.getConnection(URL, USERNAME, PWD);         statement = con.createStatement();         String sql = "update pet set name='毛毛' where id=2";         int result = statement.executeUpdate(sql);//增删改         if (result > 0) {           System.out.println("修改成功");         } else {           System.out.println("修改失败");         }       } catch (ClassNotFoundException e) {         e.printStackTrace();       } catch (SQLException e) {         e.printStackTrace();       }finally{         try {           statement.close();           con.close();         } catch (SQLException e) {           e.printStackTrace();         }       }     }  }

3.查询:  import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.ResultSet;  import java.sql.SQLException;  import java.sql.Statement;

  public class QueryTest {     public static final String DRIVER = "com.mysql.jdbc.Driver";     public static final String URL = "jdbc:mysql://localhost:3306/petstore";     public static final String USERNAME = "root";     public static final String PWD = "root";

    public static void main(String[] args) {       Connection con = null;       Statement statement = null;       ResultSet rs=null;       try {         Class.forName(DRIVER);         con = DriverManager.getConnection(URL, USERNAME, PWD);         statement = con.createStatement();         String sql = "select * from pet";         rs = statement.executeQuery(sql);         while (rs.next()) {           System.out.print(rs.getInt(1)+"\t");           System.out.print(rs.getString(2)+"\t");           System.out.print(rs.getInt(3)+"\t");           System.out.print(rs.getInt(4)+"\t");           System.out.print(rs.getString(5)+"\n");         }       } catch (ClassNotFoundException e) {         e.printStackTrace();       } catch (SQLException e) {         e.printStackTrace();       }finally{         try {           rs.close();           statement.close();           con.close();         } catch (SQLException e) {           e.printStackTrace();         }       }

    }   }

4.statement的方法的区别:   execute     不常用    返回值是boolean类型,true指返回结果集   executeUpdate   增、删、改  返回int类型,指受影响的行数   executeQuery    查       返回ResultSet类型,指结果集

5.prepareStatement避免sql注入异常  使用方式:  import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.PreparedStatement;  import java.sql.ResultSet;  import java.sql.SQLException;  import java.util.ArrayList;  import java.util.List;

  public class PrepTest {     public static final String DRIVER = "com.mysql.jdbc.Driver";     public static final String URL = "jdbc:mysql://localhost:3306/petstore";     public static final String USERNAME = "root";     public static final String PWD = "root";

    public static void main(String[] args) {       Connection con = null;       PreparedStatement ps = null;       ResultSet rs = null;       List<Master> masterlst = new ArrayList<Master>();       try {         // 1加载驱动         Class.forName(DRIVER);         // 2创建连接         con = DriverManager.getConnection(URL, USERNAME, PWD);         // 3声明Sql        //  StringBuffer sql = new StringBuffer("select * from master where 1=1 ");             // sql.append("and name=? ");        // sql.append("and money=?");         String sql="select * from master ";         // 4.创建PreparedStatement对象         ps = con.prepareStatement(sql);             // 5.传参数          // ps.setString(1, "李");          // ps.setInt(2, 100);             // 6.执行sql           rs = ps.executeQuery();             // 7遍历显示         while (rs.next()) {           Master m = new Master();           m.setId(rs.getInt(1));           m.setName(rs.getString(2));           m.setPassword(rs.getString(3));           m.setMoney(rs.getInt(4));           masterlst.add(m);         }       } catch (ClassNotFoundException e) {         e.printStackTrace();       } catch (SQLException e) {         e.printStackTrace();       } finally {         // 8.关闭对象//由内到外关闭         try {           rs.close();           ps.close();           con.close();         } catch (SQLException e) {           e.printStackTrace();         }       }

      System.out.println("查询结果:");       for (Master m:masterlst) {           System.out.println(m.getId()+"\t"+m.getName()+"\t"+m.getPassword()+"\t"+m.getMoney());       }     }

  }

 

转载于:https://www.cnblogs.com/lovel/p/7215490.html

相关资源:JDBC数据库编程实验
最新回复(0)