JDBC的简单学习

JDBC的简单学习

什么是JDBC

JDBC(Java Database Connectivity) 是一种用于执行SQL 语句的Java API。它由一组用Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的API,使他们能够用纯Java API 来编写数据库应用程序。

简单的说:用java连接数据库。

JDBC 的使用

包括以下步骤

  1. 注册驱动程序

  2. 获取数据库连接

  3. 创建并执行 SQL语句

  4. 处理执行结果

  5. 关闭数据库连接

    下面未实现JDBC的3、4

    //建立一个util工具类包,新建DataAccess类,用于数据库连接和关闭
    public class DataAccess {
        //返回一个数据库链接
        private static Connection conn = null;
        //mysql8.0需要加上cj
        private static String driver="com.mysql.cj.jdbc.Driver";
        //数据库用户名称,默认root
        private static String user="root";
        //数据库密码,登陆数据库的密码
        private static String password = "root";
         /*
        jdbc:mysql:// 是指JDBC连接方式;
    	localhost: 是指本机地址;
    	3306/ MYSQL数据库的端口号;
    	school 就是你要连接的数据库的地址或者数据库名称。
    	*/
        private static String url="jdbc:mysql://localhost:3306/"+"school";
    
        //私有方法,不能创建DareAccess对象;只能这样调用conn = DaraAccess.getConnection();
        private DataAccess() {
        }
    
        public static Connection getConnection() {
            //注意静态
                try {
                    //判断数据库是否关闭,conn==null和conn.close()是完全不同的含义
                    if (conn == null|| conn.isClosed()) {
                        Class.forName(driver);
                        conn = DriverManager.getConnection
                                (url, user, password);
                    }
                } catch (ClassNotFoundException | SQLException e) {
                    System.out.println("判断一下是不是你的MySql连接JAR包出了问题~~");
                    e.printStackTrace();
                }
            return conn;
        }
    
        //关闭数据库
        public static void closeConnection
        (Connection conn, PreparedStatement prep, ResultSet rs) {
            try {
                if (rs != null)
                    rs.close();
                if (prep != null)
                    prep.close();
                if (conn != null)
                    conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    

核心API

ResultSet 接口的方法,支持可以滚动的记录集和Java 语言来更新记录集。

Statement 接口支持批处理操作(Batch Update)。

  1. Statement 接口//静态SQL语句,容易引起SQL注入
  2. PreparedStatement 接口(继承Statement 接口)//动态SQL语句,预编译,强烈建议使用
  3. CallableStatement接口//存储过程

以上三个接口分别由Connection 接口createStatement( )方法、preparedStatement( ) 方法和prepareCall( )方法创建。

BLOB 和CLOB

BLOB和CLOB 是SQL3 标准支持的新数据类型,主要用于保存大型超长的数据,如图片视频、CD 等。了解即可!

拓展

XML,都是将SQL语句写入配置文件,不再使用JDBC,简单了解使用即可!

Mybatis更是可以动态映射实例,还可以逆向工程自动生成映射文件(仍需根据项目需求更改)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值