JDBC---Mysql(1)

使用MySQL需要导mysql-connector-java-5.1.7-bin.jar包

所有的java.sql.Driver实现类,都提供了static块,块内的代码就是把自己注册到DriverManager中。

1.配置四大参数

1 String driverClassName="com.mysql.jdbc.Driver";
2 String url="jdbc:mysql://localhost:3306/数据库名";
3 String username="root";
4 String password="密码";

 

2.加载数据库驱动

1 Class.forName(driverClassName);
2 
3 //等同于上边的加载驱动
4 
5 //com.mysql.jdbc.Driver driver= new com.mysql.jdbc.Driver();
6 
7 //DriverManager.registerDriver(driver);

 

3.创建连接

1 Connection con=DriverManager.getConnection(url,user,password);

 

4.得到连接后就可对数据库进行增、删、改、查等操作

(1)对数据库增删改

  a)通过Connection对象创建Statement,Statement语句的发送器,它的功能是向数据库发送sql语句!

  b)调用它的int executeUpdate(String sql),它可以发送DML,DDL

Statement stmt=con.createStatement();
//使用Statement发送sql语句


//String sql="insert into stu values('ITCAST-0004','zhaoliu',19)";
//String sql="update stu set age=25 where name='zhaoliu'";
String sql="dalete from stu";
//返回所影响的行数
int r=stmt.executeUpdate(sql);

(2)对数据库进行查询

查询后返回表格----对查询返回的“表格”进行解析!

 1 String sql="select * from stu";
 2 //调用Statement的ResultSet rs(返回值) executeQuery(String querysql)
 3 //返回的是结果集
 4 ResultSet rs=stmt.executeQuery(sql);
 5 
 6 
 7 //解析ResultSet
 8 while(rs.next){//把光标向下移动一行,并判断下一行是否存在!
 9  //可以以下标的方式获取
10  String str=rs.getString(1);    
11  //可以以字段名称获取
12  String str2=rs.getString("name");
13  System.out.println(str);
14  System.out.println(str2);    
15 }

查询结束后:

1 rs.close();
2 stmt.close();
3 con.close();

//规范代码形式

 1     public void fun3() throws ClassNotFoundException, SQLException {
 2         // 引用在外边给
 3         Connection con = null;// 定义引用
 4         Statement stmt = null;
 5         ResultSet rs=null;
 6         try {
 7             // 一、得到连接
 8             String driverClassName = "com.mysql.jdbc.Driver";
 9             String url = "jdbc:mysql://localhost:3306/mydb3";
10             String username = "root";
11             String password = "123456";
12 
13             Class.forName(driverClassName);
14             con = DriverManager.getConnection(url, username, password);// 实例化
15 
16             // 二、创建Statement
17             stmt=con.createStatement();//createStatement(int,int);这两个参数是用来确定创建的statement能生成什么样的结果集
18             String sql="select * from stu";
19             rs=stmt.executeQuery(sql);
20 //            rs.beforeFirst();
21             rs.last();
22             System.out.println("行数:"+rs.getRow());
23             rs.beforeFirst();
24             //三、循环遍历rs,打印其中数据
25             /*while(rs.next()){
26                 System.out.println(rs.getString(1));//数据库中第一例的值
27             }*/
28             //获取结果集元数据在获取列数
29             int count=rs.getMetaData().getColumnCount();
30             
31             while(rs.next())//遍历行
32             {
33                 int i;
34                 for(i=1;i<=count;i++){//遍历列
35                     System.out.print(rs.getMetaData().getColumnName(i)+":"+rs.getString(i)+"\t");
36                 }
37                 System.out.println("\n");
38             }
39         } catch (Exception e) {
40             throw new RuntimeException(e);
41         } finally {
42             // 关闭
43             if(rs!=null) rs.close();
44             if(stmt!=null) stmt.close();
45             if(con!=null) con.close();
46         }    
47     }

 

posted @ 2019-04-15 17:43  微微亮  阅读(192)  评论(0编辑  收藏  举报