• 通过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)+"	");
     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)+"	");
     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 }
  • 相关阅读:
    CSS3盒模型display:box详解
    微信公众平台开发:Web App开发入门
    viewController启动方法分析
    图片上加载阴影效果
    属性 与成员变量的 区别与联系 及属性修饰词理解
    封装 继承 多态 抽象的一点点理解
    UISegmentedControl 踩坑
    沙盒存储
    iOS项目在非测试设备上的安装方法(项目上线前)
    三方
  • 原文地址:https://www.cnblogs.com/xiadongqing/p/5087160.html
Copyright © 2020-2023  润新知