jdbc简单的CRUD操作(二)
本章笔记更易理解和学习,也是我第一次初学的笔记。
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 }


浙公网安备 33010602011771号