JDBC

1、使用JDBC连接MySQL数据库中student表的数据。

 1 package com.up.jdbc;
 2 
 3 import java.sql.*;
 4 import java.util.ArrayList;
 5 import java.util.List;
 6 
 7 public class Test01 {
 8     public static void main(String[] args) {
 9 
10         List<Student> list=findAll(); //使用List集合接收数据库中的数据。
11         for (Student student:list
12              ) {
13             System.out.println("编号:"+student.getId()+"  姓名:"+student.getName());
14         }
15         //只是将数据库的内容用对象封装起来,比较方便操作。
16     }
17 
18     private static List<Student> findAll() {
19         Statement statement=null; //Statement用于执行静态的sql语句
20         Connection con=null; //Connection表示java程序和数据库的连接对象
21         try {
22         // 1、加载驱动
23             Class.forName("com.mysql.jdbc.Driver");
24 
25         //2、获取连接                               此处我的端口是3307,一般默认3306。  test是我的数据库名
26             String sqlUrl="jdbc:mysql://127.0.0.1:3307/test?useunicode=true&characterEncoding=utf8";
27             //Driver表示java驱动程序接口
28             con=DriverManager.getConnection(sqlUrl,"root","");   //root是用户名,我的没设置密码,空字符串是密码
29 
30         //3、创建状态,不带预编译
31             statement=con.createStatement();
32 
33         //4、执行sql
34             String sql="select * from student";
35             //ResultSet用于封装查询出来的数据
36             ResultSet set=statement.executeQuery(sql);
37             //创建List集合
38             List<Student> list=new ArrayList<>();
39             Student student=null;
40 
41         //5、获取结果集的内容
42             while(set.next()){
43                 //第1种、根据列字段索引,将数据库中的数据直接输出
44                 //System.out.println(set.getInt(1)+"   "+set.getString(2));
45                 //第2种、根据字段名
46                 //System.out.println(set.getInt("id")+"   "+set.getString("name"));
47                 student=new Student();//第3种、用List集合和Student类接收数据库中数据
48                 student.setId(set.getInt("id"));
49                 student.setName(set.getString("name"));
50 
51                 list.add(student); 
52             }
53             return list; //如果查询到,就返回List集合中的内容。
54 
55         } catch (ClassNotFoundException e) {
56             e.printStackTrace();
57         }catch(SQLException e){
58             e.printStackTrace();
59         }finally{
60             try{
61                // 6、关闭连接
62                 statement.close();
63                 con.close();
64 
65             }catch(SQLException e){
66                 e.printStackTrace();
67             }
68         }
69         return null;//如果没有查询到,就返回null。
70     }
71 }
72     

创建Student类,去封装属性id和name。

 1 package com.up.jdbc;
 2 
 3 public class Student {
 4     private int id;
 5     private String name;
 6 
 7     public int getId() {
 8         return id;
 9     }
10 
11     public void setId(int id) {
12         this.id = id;
13     }
14 
15     public String getName() {
16         return name;
17     }
18 
19     public void setName(String name) {
20         this.name = name;
21     }
22 }

执行结果:

 2、对数据进行增删改查

①删除

 1 package day0829;
 2 
 3 import org.junit.After;
 4 import org.junit.Before;
 5 import org.junit.Test;
 6 
 7 import java.sql.Connection;
 8 import java.sql.DriverManager;
 9 import java.sql.SQLException;
10 import java.sql.Statement;
11 
12 public class Test02 {
13 
14     Statement statement=null;
15     Connection connection=null;
16 
17     @Before
18     public void before(){
19         try{
20             //1、加载驱动
21             Class.forName("com.mysql.jdbc.Driver");
22 
23             //2、获取连接
24             String sqlUrl="jdbc:mysql://127.0.0.1:3307/test?useunicode=true&characterEncoding=utf8";
25             connection=DriverManager.getConnection(sqlUrl);
26 
27             //创建状态
28             statement=connection.createStatement();
29         }catch (ClassNotFoundException e){
30             e.printStackTrace();
31         }catch(SQLException e){
32             e.printStackTrace();
33         }
34 
35     }
36     //①删除
37     @Test
38     public void delete(){
39         String sql="delete from student where id=2";
40         try {
41             int result=statement.executeUpdate(sql);
42             System.out.println(result>0?"删除成功":"删除失败");
43         } catch (SQLException e) {
44             e.printStackTrace();
45         }
46     }
47 }

删除结果:

②修改

 1 //②修改
 2 @Test
 3     public void update(){
 4         String sql="update student set name='古天乐' where id=1";
 5         try {
 6             int result=statement.executeUpdate(sql);
 7             System.out.println(result>0?"修改成功":"修改失败");
 8         } catch (SQLException e) {
 9             e.printStackTrace();
10         }
11     }

执行结果:

③添加

 1 //添加
 2     @Test
 3     public void insert(){
 4         String sql="insert into student(name) values('渣渣辉')";
 5         try {
 6             int result=statement.executeUpdate(sql);
 7             System.out.println(result>0?"添加成功":"添加失败");
 8         } catch (SQLException e) {
 9             e.printStackTrace();
10         }
11     }

执行结果:

 

posted @ 2018-08-29 19:26  echola_mendes  阅读(115)  评论(0编辑  收藏  举报