四、Java高级--4、JDBC增删改查操作

结构

结合上文的执行结果:


执行结果

如果想要显示字段名,通过元数据显示

package javastudy;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.mysql.cj.jdbc.result.ResultSetMetaData;

public class Test13 {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // TODO Auto-generated method stub
        Class.forName("com.mysql.cj.jdbc.Driver");//将存在于jar包中的驱动程序类,加载进内存
        //创建一个连接
        Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/student?useSSL=false&serverTimezone=Hongkong&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf-8&user=jack&password=123456");
        Statement st=conn.createStatement();
        //增加数据
        String sql="insert into studinfo values('003','王五','男',30)";
        //修改数据,修改王五的名字为赵六
        sql="update studinfo set name='赵六' where no=003";
        //删除数据
        sql="delete from studinfo where no='003'";
        st.executeUpdate(sql);
        //显示查询结果
        ResultSet rs=st.executeQuery("select * from studinfo"); //ResultSet结果集等于一张表
        java.sql.ResultSetMetaData data=rs.getMetaData(); //显示元数据
        for(int i=1;i<=data.getColumnCount();i++){   
            System.out.print(data.getColumnName(i)+"\t"); //打印元数据字段
        }
        System.out.println();
        while(rs.next()){
            for (int i=1;i<=4;i++){ //java中调用数据库索引都是从1开始循环
                System.out.print(rs.getString(i)+"\t");
            }
            System.out.println();
        }
    }
}
增加数据执行结果
修改数据执行结果
删除数据执行结果

添加数据换一种写法:

package javastudy;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.mysql.cj.jdbc.result.ResultSetMetaData;

public class Test13 {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // TODO Auto-generated method stub
        Class.forName("com.mysql.cj.jdbc.Driver");//将存在于jar包中的驱动程序类,加载进内存
        //创建一个连接
        Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/student?useSSL=false&serverTimezone=Hongkong&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf-8&user=jack&password=123456");
        Statement st=conn.createStatement();
        //增加数据
//        String sql="insert into studinfo values('003','王五','男',30)";
//        //修改数据,修改王五的名字为赵六
//        sql="update studinfo set name='赵六' where no=003";
//        //删除数据
//        sql="delete from studinfo where no='003'";
//        st.executeUpdate(sql);
//添加数据换一种写法
        String sql="insert into studinfo values(?,?,?,?)";
        PreparedStatement ps=conn.prepareStatement(sql);
        ps.setString(1, "004");
        ps.setString(2, "玛丽");
        ps.setString(3, "女");
        ps.setInt(4,22);
        ps.executeUpdate(); //没有返回值,使用executeupdate,有返回值使用executequery
        
        //显示查询结果
        ResultSet rs=st.executeQuery("select * from studinfo"); //ResultSet结果集等于一张表
        java.sql.ResultSetMetaData data=rs.getMetaData(); //显示元数据
        for(int i=1;i<=data.getColumnCount();i++){   
            System.out.print(data.getColumnName(i)+"\t"); //打印元数据字段
        }
        System.out.println();
        while(rs.next()){
            for (int i=1;i<=4;i++){ //java中调用数据库索引都是从1开始循环
                System.out.print(rs.getString(i)+"\t");
            }
            System.out.println();
        }
    }
}
执行结果

你可能感兴趣的:(四、Java高级--4、JDBC增删改查操作)