栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

JDBC 数据库连接 -第一节

JDBC 数据库连接 -第一节

1.简单了解JDBC

        JDBC:(java  database  Connection) JAVA数据库连接

        java:是面向对象的语言

        SQL:结构化查询语言

        为什么要用JDBC? 

                因为这这两种语言无法直接沟通,所以要出来一个翻译MySql:每一个数据库公司提供的方法名可能不一致。导致java必须记住没一个数据库的方法名。

                java语言出来规范,让这些数据库公司实现这个规范。

2.JDBC链接的步骤:

               1.加jar包到工程并且添加

                2.加载驱动

                3.获取链接对象

                4.获取执行sql语句的对象

                5.执行sql语句

                6.关闭语句

注意:1.添加,删除,修改操作要用  executeUpdate()方法

           2.查询操作用      executeQuery()方法

           3.若控制台出现乱码,要在链接路径中加时区

  1.添加操作

package Text1;

import java.sql.*;
import java.util.Scanner;


public class Text1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //五步走
        // 1.加载驱动
        
          Class.forName("com.mysql.cj.jdbc.Driver");
        // 2.创建连接
        // DriverManager:驱动的管理者,通过它创建连接
          String url="jdbc:mysql://localhost:3306/book?serverTimezone=Asia/Shanghai";
          Connection conn= DriverManager.getConnection(url,"root","123456");

        // 3.sql预编译/加载
        //方法一:使用Statement 用于执行静态SQL语句并返回其生成的结果的对象
         Statement statement=conn.createStatement();
         String sql="insert into bookcate values (29,'英语')";
        //添加
        // i 返回sql语句执行后影响的行数
        int i=statement.executeUpdate(sql);
         System.out.println(i);

       // 5.关闭连接
         statement.close();
         conn.close();
    }


}

2.删除操作

package Text1;

import com.mysql.jdbc.Driver;

import java.sql.*;




public class Text2 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //第一步:加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //第二步:连接mysql
        String url="jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf8&&useSSL=false";
        Connection conn= DriverManager.getConnection(url,"root","123456");
        //第三步 sql加载

        String sql="delete from bookcate where CateId=12";
        PreparedStatement ps=conn.prepareStatement(sql);
        //第四步
        int i=ps.executeUpdate();
        System.out.println(i);
        //第五步 关闭连接
        ps.close();
        conn.close();

    }
}

3.修改操作

package Text1;

import java.sql.*;


public class Text5 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.cj.jdbc.Driver");
        String url="jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf8&&useSSL=false";
        Connection conn=DriverManager.getConnection(url,"root","123456");
        String sql="update bookcate set CateName='高数' where Cateid=7 ";
        PreparedStatement ps=conn.prepareStatement(sql);
        int i=ps.executeUpdate();
        System.out.println(i);
        ps.close();
        conn.close();
    }
}

4.查询操作

        1.单行查询

package Text1;

import java.sql.*;



public class Text3 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //第一步 加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        //第二步  连接数据库
        String url="jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf8&&useSSL=false";
        Connection conn= DriverManager.getConnection(url,"root","123456");

        //第三步
        String sql="select * from bookcate  where Cateid=?";
        PreparedStatement  ps=conn.prepareStatement(sql);

        //第四步
        //给?号设值
        ps.setObject(1,2);
        //执行sql
        //ResultSet查询语句返回的类型是   结果集类型
        ResultSet set=ps.executeQuery();
        //set.next()判断是否有下一行数据
        if(set.next()){
            //获取数据方法一:根据数据库中数据的类型   根据第几列列数
            
            //获取数据方法二:根据数据库中列的名字来获取
            
            //获取方法三:使用对象类型获取
            Object id=set.getInt(1);
            Object name=set.getString(2);
            System.out.println(id+"   "+name);
        }

        //第五步
        ps.close();
        conn.close();
    }
}

        2.多行查询

                用List集合方法装。

package Text1;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;


public class Text4 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //连接数据库
        String url="jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf8&&useSSL=false";
        Connection conn= DriverManager.getConnection(url,"root","123456");
        //  写sql语句
        String sql="select * from bookcate";
        PreparedStatement ps=conn.prepareStatement(sql);
        //执行语句
        //ResultSet 查询语句返回的类型是  结果集类型
        ResultSet set=ps.executeQuery();
        //getmetaDate()   此方法用来获取一个ResultSetmetaData对象 中有
        ResultSetmetaData data=set.getmetaData();
        //getColumnCount()   方法是ResultSetmetaData对象的方法  可以获取总共列数
        int count=data.getColumnCount();
        //set.next()  判断是否有下一行数据
        //定义一个泛型list 的 list,创建一个大的List用来储存每一行数据
        List Biglist=new ArrayList<>();
        while(set.next()){
            List list=new ArrayList<>();
            for(int i=1;i<=count;i++){
                Object o=set.getObject(i);
                list.add(o);
            }
            Biglist.add(list);
        }
        System.out.println(Biglist);
        //关闭连接
        ps.close();
        conn.close();
    }
}
 

        

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号