栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDBC的简单实现(MySQLjar配置idea)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDBC的简单实现(MySQLjar配置idea)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

JDBC的简单实现(idea)


前言

jdbc的简单实现


提示:以下是本篇文章正文内容,下面案例可供参考

一、JDBC是什么?

JDBC(JavaDataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。

本质:本质是sun公司制定的一套接口,在Java.sql包下,可以提高扩展力,解耦合等等

二、使用步骤

1.idea配置jar

 

 

 

 

 

 

 导入的jar最好要与你的mysql版本相同,否则可能会出现版本不匹配异常

MySQLjar安装地址

https://downloads.mysql.com/archives/c-j/

2.jdbc的简单实现(六大步骤)

第一:注册驱动

    作用:告诉Java程序,即将连接的是哪个品牌的数据库

第二:获取连接(表示jvm的进程和数据库之间的)

   表示jvm的进程和数据库之间的通道打开了,这属于进程之间的通信,重量级的,使用完一定要关闭

第三:获取数据库操作对象

   专门执行sql语句的对象

第四:执行sql语句(DQL丶DML)

第五:处理数据结果集

  只有第四步执行的select语句的时候,才有第五步处理查询结果集

第六:释放资源

  Java和数据库属于进程之间的通信,开启一定要关闭

3.代码实现

  

package com.demo.yu;

import java.sql.*;

public class JDBCLinkTest {
    //JDBC连接测试
    public static void main(String[] args) {
        Connection conn=null;//连接对象
        //Statement sta=null;//数据库操作对象
        PreparedStatement ps=null;//预编译数据库操作对象
        ResultSet set=null;//结果集对象

        try {
            //第一:注册驱动
            //Class.forName("com.mysql.jdbc.Driver");
            Class.forName("com.mysql.cj.jdbc.Driver");//8.0后的版本要加在jdbc前加cj
            //第二:获取连接(jdbclink为创建的数据库)填入数据库账号密码
            conn= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbclink","root","123456");

            //第三:获取数据库操作对象
            //sta=conn.createStatement();
            //sql语句框中.其中一个? 表示一个占位符一个? 将来接收一个"值" 占位符不能用单引号括起来
            String xs="select *from student where name=?";
            ps=conn.prepareStatement(xs);
            //给占位符数据传值(第一个问好下标是1,第二个是2,jdbc都是从1开始)
            ps.setString(1,"张三");

            //第四:执行sql语句
            //String s="select *from student";
            set=ps.executeQuery();
            //第五:获取查询结果集
            while (set.next()){//set.next()方法为判断结果集中此行是否有数据,有则返回true
                String x=set.getString(1);//取得结果集中第一列的数据
                String y=set.getString(2);//取得结果集中第二列的数据
                String n=set.getString("name");//也可以填列名(使用列名健壮性更强)
                System.out.println(x+","+y+","+n);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            //第六:释放资源
            if (set != null) {
                try {
                    set.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
                if (ps != null) {
                    try {
                        ps.close();
                    } catch (SQLException throwables) {
                        throwables.printStackTrace();
                    }
                }
                    if (conn != null) {
                        try {
                            conn.close();
                        } catch (SQLException throwables) {
                            throwables.printStackTrace();
                        }
                    }




        }

    }


}

 

 

4. Statement和PraparedStatement的区别

前者可以使用关键字后者不行

后者可以进行安全检查,并且可以防止sql注入问题


总结

jdbc的实现就是以上这六步,特别注意8.0以上的mysql要加cj

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

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

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