通过JDBC进行简单的增删改查(二)

本章笔记更易理解和学习,也是我第一次初学的笔记。

  1 package javastudy;
  2 
  3 import java.sql.Connection;
  4 import java.sql.DriverManager;
  5 import java.sql.PreparedStatement;
  6 import java.sql.ResultSet;
  7 import java.sql.ResultSetMetaData;
  8 import java.sql.SQLException;
  9 import java.sql.Statement;
 10 
 11 public class TextJDBC {
 12 
 13     public static void main(String[] args) {
 14         // TODO Auto-generated method stub
 15         /**数据库的增删改查
 16          * 方法:连接到已有的数据库,通过sql命令进行操作
 17          * 具体步骤:
 18          * 1.添加mysql的jar包到程序中,具体操作见上章随笔
 19          * 2,加载驱动程序Class。forname();
 20          * 3.连接到数据库
 21          * 4.进行sql命令操作。
 22          * */
 23         Connection conn = null;
 24         Statement st = null;
 25         String sql;
 26         PreparedStatement ps;
 27         try {
 28             //加载驱动程序,虚拟机(jvm);
 29             Class.forName("com.mysql.jdbc.Driver");
 30             //连接到数据库
 31             String url="jdbc:mysql://localhost:3306/student";
 32             String user="root";
 33             String password="12345678";
 34             conn=DriverManager.getConnection(url, user, password);
 35             st=conn.createStatement();
 36         } catch (ClassNotFoundException e) {
 37             // TODO Auto-generated catch block
 38             System.out.println("加载数据库失败!");
 39             e.printStackTrace();
 40         } catch (SQLException e) {
 41             // TODO Auto-generated catch block
 42             System.out.println("数据库连接失败!");
 43             e.printStackTrace();
 44         }
 45 /*        //增加数据
 46         sql="insert into studentinfo values ('07','jine','女','18')";
 47         //修改数据
 48         sql="update studentinfo set name='鲍勃' where no='03'";
 49         //删除数据
 50         sql="delete from studentinfo where no='07' ";
 51         try {
 52             st.executeUpdate(sql);
 53         } catch (SQLException e1) {
 54             // TODO Auto-generated catch block
 55             System.out.println("添加数据失败!!");
 56             e1.printStackTrace();
 57         }
 58 */
 59         //第二种加载数据的方法:通过PreparedStatement,把values的值先做未知处理,然后进行赋值
 60         try {
 61             sql="delete from studentinfo where no='03' ";
 62             st.executeUpdate(sql);
 63             //61.62两段是为了下面语句的执行进行的操作,与第二种增加数据的方法无关。
 64             sql="insert into studentinfo values (?,?,?,?)";
 65             ps=conn.prepareStatement(sql);
 66             ps.setString(1, "03");
 67             ps.setString(2, "Bob");
 68             ps.setString(3, "男");
 69             ps.setInt(4, 20);
 70             //进行数据库的更新加载,然后显示。
 71             ps.executeUpdate();
 72         } catch (SQLException e1) {
 73             // TODO Auto-generated catch block
 74             System.out.println("添加数据失败!!");
 75             e1.printStackTrace();
 76         }
 77         //查询数据
 78         try {
 79             //有返回值操作
 80             ResultSet rs=st.executeQuery("select * from studentinfo");
 81             //管理数据库的表头,即输出列表头;
 82             ResultSetMetaData rsm= rs.getMetaData();
 83             for(int i =1;i<=rsm.getColumnCount();i++)
 84             {
 85                  System.out.print(rsm.getColumnName(i)+"\t");
 86             }
 87             System.out.println();
 88             while(rs.next())
 89             {
 90                 for(int i =1; i<=4;i++)
 91                 {
 92                     System.out.print(rs.getString(i)+"\t");
 93                 }
 94                 System.out.println();
 95             }
 96             
 97         } catch (SQLException e) {
 98             // TODO Auto-generated catch block
 99             System.out.println("查找失败!");
100             e.printStackTrace();
101         }
102         
103     }
104 
105 }

 

posted @ 2015-12-29 21:48  夏冬青  阅读(300)  评论(0编辑  收藏  举报