zoukankan      html  css  js  c++  java
  • 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     }

    执行结果:

  • 相关阅读:
    【转贴】Render to Texture(渲染到纹理)
    【转贴】EffectFramework
    真正的电脑高手
    【ZT】剑道与编程之道
    【转贴】DXUT 框架入门 2
    【转贴】DXUT 框架函数介绍
    第四章 治病法要(1)
    第一章 略说中医的学习与研究(5)
    第二章 伤寒之意义(2)
    第一章 略说中医的学习与研究(4)
  • 原文地址:https://www.cnblogs.com/echola/p/9556408.html
Copyright © 2011-2022 走看看