• Java JDBC


    JDBC是一组专门负责连接操作数据库的标准。

    常见的连接方式:JDBC-ODBC桥连接、JDBC连接。

    一般JDBC比较常用,JDBC-ODBC性能比较差。

    JDBC开发的四大步骤:

    1、加载数据库驱动程序

    2、连接数据库

    3、操作数据库

    4、关闭数据库连接

    实例:

    创建如下的表数据:

    package java_jdbc;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class JdbcTest {
        
        //定义连接数据库的参数常量
        public static String DBDRIVER="com.mysql.jdbc.Driver"; 
        public static String DBURL="jdbc:mysql://localhost:3306/db_jdbc";
        public static String DBUSER="root";
        public static String DBPASSWORD="mysqladmin";
        
        public static void main(String[] args) throws Exception {
            
            Connection conn=null;
            Statement st=null;
            ResultSet rs=null;
            
            //1、加载驱动,这里使用的是mysql
            Class.forName(DBDRIVER);
            //2、连接数据库
            conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
            //3、实例化Statement完成操作
            st=conn.createStatement();
            System.out.println("*** 输出表中的初始数据 ***");
            rs=st.executeQuery("select * from menber");
            while(rs.next()){
                System.out.println("id:"+rs.getInt("id")+",name:"+rs.getString("name")+",age:"+rs.getInt("age")+",address:"+rs.getString("address"));
            }
            System.out.println("*** 插入一个menber ***");
            st.executeUpdate("insert into menber values(null,'王武','28','深圳')");
            
            System.out.println("*** 修改张三的年龄 ***");
            st.executeUpdate("update menber set age='22' where id=1");
            
            System.out.println("*** 输出表中的最终数据 ***");
            rs=st.executeQuery("select * from menber");
            while(rs.next()){
                System.out.println("id:"+rs.getInt("id")+",name:"+rs.getString("name")+",age:"+rs.getInt("age")+",address:"+rs.getString("address"));
            }
            
            //4、关闭连接
            rs.close();
            st.close();
            conn.close();
        }
    }
    View Code

     但是由于Statement存在注入漏洞,所以现在基本上不使用了,而是使用PreparedStatement

    实例:

    package java_jdbc;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    public class JdbcTest2 {
        
        //定义连接数据库的参数常量
        public static String DBDRIVER="com.mysql.jdbc.Driver"; 
        public static String DBURL="jdbc:mysql://localhost:3306/db_jdbc";
        public static String DBUSER="root";
        public static String DBPASSWORD="mysqladmin";
        
        public static void main(String[] args) throws Exception {
            
            Connection conn=null;
            PreparedStatement ps=null;
            ResultSet rs=null;
            
            //1、加载驱动,这里使用的是mysql
            Class.forName(DBDRIVER);
            //2、连接数据库
            conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
            //3、实例化Statement完成操作
            ps=conn.prepareStatement("select * from menber where age>?");
            ps.setInt(1, 25);
            rs=ps.executeQuery();
            while(rs.next()){
                System.out.println("id:"+rs.getInt("id")+",name:"+rs.getString("name")+",age:"+rs.getInt("age")+",address:"+rs.getString("address"));
            }
            
            //4、关闭连接
            rs.close();
            ps.close();
            conn.close();
        }
    }
    View Code

  • 相关阅读:
    hdu 4183(网络流)
    hdu 1565&hdu 1569(网络流--最小点权值覆盖)
    hdu 1532(最大流)
    HDU 2141 Can you find it?
    HDU 1096 A+B for Input-Output Practice (VIII)
    HDU 1095 A+B for Input-Output Practice (VII)
    HDU 1094 A+B for Input-Output Practice (VI)
    HDU 1093 A+B for Input-Output Practice (V)
    HDU 1092 A+B for Input-Output Practice (IV)
    HDU 1091 A+B for Input-Output Practice (III)
  • 原文地址:https://www.cnblogs.com/zerotomax/p/6501295.html
Copyright © 2020-2023  润新知