• jdbc连接数据库Mysql实例


    说明:

      首先,需要下载MySQL数据库的驱动:mysql-connector-java-5.1.7-bin

      然后,准备数据库信息:MySQL用户名及密码,root/root

                 jdbc连接的数据库:test

    ①在eclipse中通过jdbc连接MySQL数据库test:

    public  class  Query{

      public static void main(String[] args){

         Connection conn=getConnection("root","root");

        //创建表格
          create(conn);
          //插入数据:
         insert(conn);
          //修改数据
          update(conn);
          //查询数据:
          query(conn);
           releaseConnection(conn);

      }

      //查询数据,定义query方法
       public static void query(Connection conn){
          String  Sql="select * from employee;";
      
          try {
             Statement stmt = conn.createStatement();
             ResultSet rs=stmt.executeQuery(Sql);
             rs.afterLast();
             while(rs.previous()){
              System.out.println("编号:"+rs.getString("id")+"姓名:"+rs.getString("dname")
                 +rs.getString("address"));
           }
           if(rs!=null){
            rs.close();
           }
           if(stmt!=null){
            stmt.close();
           }
           if(conn!=null){
            conn.close();
           }
        } catch (SQLException e) {
           System.out.println("query:创建Statement失败");
           e.printStackTrace();
        } 
     }

       //修改数据,定义update方法
       public static void update(Connection conn){
          String sql="update employee set  address = 'Nanjing2' where id=1;";
          try {
             Statement stmt = conn.createStatement();
             int count=stmt.executeUpdate(sql);
      
             System.out.println("数据修改成功");
          } catch (SQLException e) {
             System.out.println("update:创建statement对象失败");
             e.printStackTrace();
          }
     }

      //插入数据,定义insert方法
       public static void insert(Connection conn){
          String sql="insert into employee values(1,'gaofeng','Nanjing');";
          try {
             Statement stmt=conn.createStatement();
             int count=stmt.executeUpdate(sql);
       
             System.out.println("插入数据成功");
          } catch (SQLException e) {
             System.out.println("insert:创建statement对象失败");
             e.printStackTrace();
          }
       }

      //创建表格employee,定义create方法
       public static void create(Connection conn){
          String sql="create table employee(id int(11),dname varchar(20),address varchar(40));";
          try {
             Statement stmt=conn.createStatement();
             int count=stmt.executeUpdate(sql);
       
             System.out.println("创建表格成功");
          } catch (SQLException e) {
             System.out.println("create:创建statement对象失败");
             e.printStackTrace();
          }
       }

      //释放数据库连接:数据库使用完成后为了节省资源,应及时断开连接

      public static void releaseConnection(Connection conn){

        try{

          if(conn!=null)

            conn.close();

        }catch(SQLException e){

            System.out.println("releaseConnection:释放数据库连接失败");

            e.printStackTrace();

        }

      }

      //数据库连接

      public static Connection getConnection(String user,String password){

        Connection conn=null;

        String driver="com.mysql.jdbc.Driver";

        String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8";

        try{

          //注册(加载)驱动程序

          Class.forName(driver);

          try{

            //获取数据库连接

            conn=DriverManager.getConnection(url,user,password);

          }catch(SQLException e){

            System.out.println("getConnection:连接数据库失败");  

            e.printStackTrace();

          }

        }catch(ClassNotFoundException e){

          System.out.println("getConnection:加载驱动失败");   

          e.pritStackTrace();

        }

      }

    } 

    执行结果:

    ①连接数据库结果

    ②创建表运行结果

    ③插入数据运行结果

    ④修改表运行结果

    ⑤执行查询 运行结果

  • 相关阅读:
    常系数齐次线性递推
    【CF961G】Partitions(第二类斯特林数)
    【CF715E】Complete the Permutations(容斥,第一类斯特林数)
    【BZOJ4671】异或图(斯特林反演)
    【CF960G】Bandit Blues(第一类斯特林数,FFT)
    【BZOJ2159】Crash的文明世界(第二类斯特林数,动态规划)
    【LOJ#6374】网格(二项式反演,容斥)
    组合计数和反演
    有标号的DAG计数(FFT)
    [复习]多项式和生成函数相关内容
  • 原文地址:https://www.cnblogs.com/gf36500/p/6764216.html
Copyright © 2020-2023  润新知