精华内容
下载资源
问答
  • IDEA使用JDBC连接MySQL数据库详细教程

    万次阅读 多人点赞 2018-11-15 13:33:34
    使用JDBC连接MySQL数据库的驱动为Connentor/J,这里以最新版本的8.0为例 解压zip文件,随便解压到一个地方就好,当然作为程序员,需要有好习惯的 创建java项目,导入mysql-connector-java-8.0.13.jar包 下面再来看...

    首先需要保证你已经成功安装mysql

    接下来下载连接MySQL数据库的驱动

    使用JDBC连接MySQL数据库的驱动为Connentor/J,这里以最新版本的8.0为例
    在这里插入图片描述

    解压zip文件,随便解压到一个地方就好,当然作为程序员,需要有好习惯的

    创建java项目,导入mysql-connector-java-8.0.13.jar包

    下面再来看下导入jar的步骤
    在这里插入图片描述

    写代码

    //导入包
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    /*
     * 数据库连接
     */
    public class Conn {
        public static void main(String[] args) {
            Connection con;
            //jdbc驱动
            String driver="com.mysql.cj.jdbc.Driver";
            //这里我的数据库是cxxt
            String url="jdbc:mysql://localhost:3306/demo?&useSSL=false&serverTimezone=UTC";
            String user="root";
            String password="root";
            try {
            	//注册JDBC驱动程序
                Class.forName(driver);
                //建立连接
                con = DriverManager.getConnection(url, user, password);
                if (!con.isClosed()) {
                    System.out.println("数据库连接成功");
                }
                con.close();
            } catch (ClassNotFoundException e) {
                System.out.println("数据库驱动没有安装");
    
            } catch (SQLException e) {
                e.printStackTrace();
                System.out.println("数据库连接失败");
            }
        }
    }
    

    运行,阔以的
    在这里插入图片描述

    下面来测试一下能不能执行mysql语句

    查询数据库的内容:
    在这里插入图片描述
    可以正常使用
    在这里插入图片描述

    展开全文
  • JDBC访问数据库的7个步骤 1.导入java.sql包 ...3.创建一个connection对象 ...idea配置和下载Oracle数据库的jar包见上一篇文章idea连接Oracle基本配置 将oracle的驱动程序包引入到project中 在项目结构中添加li

    JDBC访问数据库的7个步骤
    1.导入java.sql包
    2.加载并注册驱动程序
    3.创建一个connection对象
    4.创建Statement或PreparedStatement对象
    5.执行sql语句
    6.使用ResultSet对象获取数据
    7.关闭ResultSet、Statement、Connection对象

    1.导入java.sql包

    idea配置和下载Oracle数据库的jar包见上一篇文章idea连接Oracle基本配置
    将oracle的驱动程序包引入到project中
    在项目结构中添加libraries
    在这里插入图片描述把相应的libraries添加到模块中
    在这里插入图片描述

    2.加载并注册驱动程序

    在JDBCUtil中创建

    JdbcUtil
    jdbc实用类:
    1.加载数据库驱动,只需要在系统启动的时候执行一次,使用静态代码块
    2.获取数据库连接
    3.关闭jdbc资源
    4.读取jdbc外部的配置信息

     static{
            try {
                Class.forName(DRIVER);
            } catch (ClassNotFoundException e) {
                System.err.println("加载数据库失败!");
            }
        }
    

    注册数据驱动只需在整个项目运行时注册一次即可。不需要每次获取Connection时都去注册驱动。注册数据库驱动程序后其它的类再去访问数据库时JVM就能找得到数据库驱动了,所以通常把注册驱动的代码写在某个类的static{ …… }静态初始化块中。

    对于不同数据库都有自己的驱动程序类和URL格式。以下是常用数据库的URL格式:

    url格式:协议:子协议:主机:port:数据库
    SQL Server:
    jdbc:sqlserver://localhost:1433;DatabaseName=数据库名
    Oracle:
    jdbc:oracle:thin:@localhost:1521:ORCL(实例名,SID)
    MySQL:
    jdbc:mysql://localhost:3306/数据库名?characterEncoding=UTF-8

    3.创建一个connection对象

    public static Connection getConnection(){
            Connection conn = null;
            try {
                conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
            } catch (SQLException e) {
                System.err.println("获取数据库连接失败!" + e.getMessage());
            }
            return conn;
        }
    

    完整的JdbcUtil代码

    package com.lamqiao.dao;
    
    import java.sql.*;
    import java.util.ResourceBundle;
    
    /*
    jdbc实用类:
    1.加载数据库驱动,只需要在系统启动的时候执行一次,使用静态代码块
    2.获取数据库连接
    3.关闭jdbc资源
    4.读取jdbc外部的配置信息
     */
    public class JdbcUtil {
    
        public static final String DRIVER = getValue("jdbc.driver");
        public static final String URL = getValue("jdbc.url");
        public static final String USERNAME = getValue("jdbc.username");
        public static final String PASSWORD = getValue("jdbc.password");
    
        static{
            try {
                Class.forName(DRIVER);
            } catch (ClassNotFoundException e) {
                System.err.println("加载数据库失败!");
            }
        }
    
        public static Connection getConnection(){
            Connection conn = null;
            try {
                conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
            } catch (SQLException e) {
                System.err.println("获取数据库连接失败!" + e.getMessage());
            }
            return conn;
        }
    
        public static void close(Connection conn, Statement stmt, ResultSet rs){
            try {
                if (rs!= null) {
                    rs.close();
                }
    
                if (stmt!= null) {
                    stmt.close();
                }
    
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    
        public static String getValue(String key){
            ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
            return bundle.getString(key);
        }
    }
    
    

    4.创建Statement或PreparedStatement对象

        Connection connection = JdbcUtil.getConnection();
        PreparedStatement ps = connection.prepareStatement(sql);
    

    5.执行sql语句

    sql语句可以使用String或者StringBuffer,建议使用StringBuffer,可以追加,如果是完整的可以使用String

    StringBuffer sql = new StringBuffer("select * from employee where 1=1 ");
    

    6.使用ResultSet对象获取数据

    使用executeQuery()返回的是结果集,

    ResultSet rs = ps.executeQuery();
    

    使用executeUpdate()返回的是影响的行数

    int row = ps.executeUpdate();
    

    完整的查询员工信息的语句

    /*
            根据条件查询员工信息
         */
        public List<Employee> select(Employee employee) {
            List<Employee> employeeList = new ArrayList<>();
    
            List<Object> param = new ArrayList<>();
    
            // 动态构建SQL语句
            StringBuffer sql = new StringBuffer("select * from employee where 1=1 ");
    
            // 第三方库: apache lang3, StringUtils.isNotEmpty(employee.getEname());
            if (employee.getEname() != null && employee.getEname().trim().length() > 0) {
                sql.append(" and ename like ? "); // "?" 在预编译语句里叫作占位符
                // 将点位符对应的值加入列表
                param.add("%" + employee.getEname() + "%");
            }
            if (employee.getJob() != null && employee.getJob().trim().length() > 0) {
                sql.append(" and job=? ");
                param.add(employee.getJob());
            }
            if (employee.getDeptno() != null) {
                sql.append(" and deptno=?");
                param.add(employee.getDeptno());
            }
    
            System.out.println(">>>>> " + sql);
    
            try (Connection conn = JdbcUtil.getConnection();
                 // 创建预编译语句
                 PreparedStatement ps = conn.prepareStatement(sql.toString());
            ) {
                // 执行前给占位符赋值
                // ps.setXxx(index, value); Xxx:表示相应的数据类型; index: 占位符位置,从1开始; value: 占位符的值
                int index = 1;
                for (Object value : param) {
                    // 设置占位符的值
                    ps.setObject(index++, value);
                }
                ResultSet rs = ps.executeQuery();
                while (rs.next()) {
                    employee = getResultEmployee(rs);
                    employeeList.add(employee);
                }
    
            } catch (SQLException e) {
                System.err.println("按条件查询失败:" + e.getMessage());
            }
            return employeeList;
        }
    

    完整的插入员工表代码

    public boolean insert(Employee employee){
            String sql = "insert into employee values(?,?,?,?,?,?,?,?)";
    
            try (
                    Connection connection = JdbcUtil.getConnection();
                    PreparedStatement ps = connection.prepareStatement(sql);
            ) {
                //将自动提交事务设置为false
    //            connection.setAutoCommit(false);
                int i = 1;
                ps.setInt(i++,employee.getEmpno());
                ps.setString(i++,employee.getEname());
                ps.setString(i++,employee.getJob());
                ps.setInt(i++,employee.getMgr());
                //java.util.Date -> java.sql.Date
                //new java.sql.Date()
                ps.setDate(i++,new Date(employee.getHiredate().getTime()));
                ps.setDouble(i++,employee.getSal());
                if (employee.getComm() == null) {
                    ps.setNull(i++, Types.DOUBLE);
                }else {
                    ps.setDouble(i++,employee.getComm());
                }
                ps.setInt(i++,employee.getDeptno());
                //返回值int表示影响的行数
                int row= ps.executeUpdate();
    //            connection.commit();//手动提交事务
                return (row==1 ? true : false);
    
            } catch (SQLException e) {
                //手动提交事务 时,无异常出现则回滚事务
    //            connection.rollback();
                System.out.println("添加员工失败" + e.getMessage());
            }
            return false;
        }
    
    

    7.关闭ResultSet、Statement、Connection对象

    将statement、connection对象放在try括号中可以自动关闭

    展开全文
  • 大家好,今天我和大家分享一下JDBC 连接数据库步骤JDBC 连接数据库步骤: 1、加载数据库驱动 2、获取数据库连接 3、获取用于执行sql命令的执行对象 4、执行 5、处理结果 6、回收资源 1、加载数据库...

    大家好,今天我和大家分享一下JDBC 连接数据库的步骤。

    JDBC 连接数据库的步骤:

    1、加载数据库驱动

    2、获取数据库的连接

    3、获取用于执行sql命令的执行对象

    4、执行

    5、处理结果

    6、回收资源

    1、加载数据库驱动:高版本兼容低版本(就是数据库驱动包是5.0版本可以用8.0的加载驱动)

    注意:驱动的加载在JDBC4之后可以无需显示声明(可以不写),因为在META-INF下services包中有个配置文件java.sql.Driver。在获取连接之前,DriverManager会自动寻找。

    //数据库驱动包是8.0版本
    Class.forName("com.mysql.cj.jdbc.Driver");
    //数据库驱动包是5.0版本
    Class.forName("com.mysql.jdbc.Driver");

    2、获取数据库的连接:getConnection()中的参数:url,user,password当然这个方法也有重载的其他方法,参数和这个相似。

    Connection connection = DriverManager
        .getConnection(
                "jdbc:mysql://127.0.0.1:3306/mydb?serverTimezone=UTC",
                "root",
                "123456");

    3、获取用于执行sql命令的执行对象:Statement一般用于执行静态sql语句。动态传入的参数时,使用Statement会有sql注入的风险,而PreparedStatement有预处理sql语句的功能可以避免sql注入的风险。

    //有动态传入的参数时,不建议使用
    Statement stat = conn.createStatement();
    //有预处理sql语句的功能
    String sql="select * from user where id=?";
    PreparedStatement ps = conn.prepareStatement(sql);

    4、执行:Statement中有execute()的方法,返回值是boolean类型,true表示执行查询操作,false表示执行更新操作(增删改)

    executeUpdate()方法是执行更新操作(增删改),返回值是受影响的行数

    executeQuery()方法是执行查询操作,返回值是一个结果集ResultSet

    PreparedStatement和Statement方法一样(注意:PreparedStatement继承Statement)只不过在执行之前要为sql语句中的“?”赋值。

    //对于Statement
    boolean b = stat.execute("insert into user(username,password,phone) " +
            "values('coco','123456','12345678910')");
    int i = stat.executeUpdate("insert into user(username,password,phone) " +
            "values('coco','123456','12345678910')");
    ResultSet rs = stat.executeQuery("select * from user");
    //对于PreparedStatement
    String sql="select * from user where id=?";
    String sql1="delete from user where id=?";
    PreparedStatement ps = conn.prepareStatement(sql);
    ps.setInt(1,1);
    boolean b1 = ps.execute();
    //执行sql1时使用
    int i1 = ps.executeUpdate();
    //执行sql时使用
    ResultSet rs1 = ps.executeQuery();

    5、处理结果:主要是对于结果集的处理,ResultSet 中有next()方法,它相当于一个游标,它的指向是下一条数据,返回值是boolean类型,能判断有没有一条数据,而ResultSet 中的getXxx是用来获取每一条数据中的具体内容比如:username、password等

    //处理execute()的结果
    if(!b){
        System.out.println("添加成功");
    }
    //处理executeUpdate()的结果
    if(i==1){
        System.out.println("添加成功");
    }
    //处理executeQuery()的结果:只有一条数据
    if(rs1.next()){
        int id = rs.getInt("id");
        String username = rs.getString("username");
        String password = rs.getString("password");
        String phone = rs.getString("phone");
        System.out.println(id+"/"+username+"/"+password+"/"+phone);
    }
    //处理executeQuery()的结果:多条数据
    while(rs1.next()){
        int id = rs.getInt("id");
        String username = rs.getString("username");
        String password = rs.getString("password");
        String phone = rs.getString("phone");
        System.out.println(id+"/"+username+"/"+password+"/"+phone);
    }

    6、回收资源:如果有结果集才能关闭结果集ResultSet,没有就不用写这一句。关闭资源类似递归和栈,就是开启顺序和关闭顺序相反。关闭资源时最好用try..finally...语句用try..catch....finally...语句。

    //关闭结果集ResultSet
    rs.close();
    //关闭Statement
    stat.close();
    //关闭连接Connection
    conn.close();

    展开全文
  • IDEA使用JDBC连接数据库,简单实例

    千次阅读 2019-06-25 18:01:11
    1.双击打开IDEA 2.JDBC驱动的下载 (JDBC驱动jar包的版本要与mysql版本对应,我的mysql版本为5.0,导入的jar包版本为5.1...3.IDEA导入JDBC的驱动jar包导入 选择File->Project Structure,再点击下图中的 + ,选择...

    1.双击打开IDEA
    2.JDBC驱动的下载
    (JDBC驱动jar包的版本要与mysql版本对应,我的mysql版本为5.0,导入的jar包版本为5.1)
    mysql官网下载驱动包https://dev.mysql.com/downloads/connector/j/

    3.IDEA导入JDBC的驱动jar包导入
    选择File->Project Structure,再点击下图中的 + ,选择刚下载的jar包,点击OK。

    如上图jar包就导入进来了。

    3.idea连接mysql数据库
    见百度经验:https://jingyan.baidu.com/article/ce09321bbcaddf2bfe858f56.html

    4.新建java项目

    其余步骤见百度经验:https://jingyan.baidu.com/article/48b558e3f8f6637f39c09a44.html

    5.jdbc连接mysql实例
    界面如下:

    数据库library中的表users如下:

    程序代码:

    package jdbc;
    
    import java.sql.*;
    
    public class TestConnection {
    
     public static void main(String args[])
     {
         Statement statement=null;
         ResultSet resultset=null;
         Connection conn=null;
        try {
            //1.加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.创建连接
            /****其中library是我创建的数据库名,
                root是我数据库用户名,
                "123456"是我数据库密码********/
             String url="jdbc:mysql://127.0.0.1:3306/library?useSSL=true&characterEncoding=utf-8";
             conn = DriverManager.getConnection(url,"root","123456");
            //3.sql语句
            String sql="select * from users";
            //4.得到statement对象
            statement = conn.prepareStatement(sql);
            //5.执行sql
            resultset = statement.executeQuery(sql);
            // 6.处理结果集
            while(resultset.next())
            {
                System.out.println("user_id: "+resultset.getString(1));
                System.out.println("user_name: "+resultset.getString(2));
                System.out.println("phone: "+resultset.getString(3));
                System.out.println("           ");
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }
        finally {
            //7.关闭连接
            if (resultset!=null){
                try{
                    resultset.close();
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
            if(conn!=null){
                try{
                    conn.close();
                }catch(Exception e){
                    e.printStackTrace();
                }
            }
            if(statement!=null) {
                try{
                    statement.close();
                }catch (Exception e) {
                    e.printStackTrace();
                }
                }
            }
        }
     }
    
    展开全文
  • JDBC连接数据库

    千次阅读 2021-08-12 12:26:43
    JDBC是java连接数据库的一套接口【驱动】 连接mysql有MySQL的JDBC连接Oracle有Oracle的JDBC JDBC数据库厂商写好了,我们只要下载调用就行 下载之后,在IDEA创建一个Java工程,新建一个lib目录 将mysql-...
  • IDEA使用JDBC连接数据库(MySQL)

    万次阅读 2019-08-30 19:59:44
    一.软件准备 IDEA,Navicat for MySQL,JDBC...首先启动数据库,建立一个新的连接。可以建立一个表格,方便后面代码实现。 webstore为数据库名字 三.IDEA部分 1.新建项目 2.导入jar包 3.编写相应代码 p...
  • 使用Intellij Idea 创建一个JDBC连接数据库的程序步骤: 创建一个目录,用来放mysql的驱动包,类似eclipse的lib目录:JDBCDemo-&gt;New-&gt;Directory。 把mysql的jar包复制过来 把jar包添加到项目里,...
  • Spring JDBC 数据库连接基本步骤 1.配置依赖项 <!-- mysql jar包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version&...
  • 连接数据库之前,必须先将数据库驱动依赖添加到项目的依赖库中:idea中添加驱动步骤->File->Project Structure->Libraries->中间栏+号并选择java->选择下载好的驱动程序JBDC 连接数据库一般有如下...
  • 连接数据库后,新建查询,输入SELECT VERSION(),运行即可。 2)未安装Navicat等工具的话可以使用cmd: 打开cmd,输入mysql -uroot -p,再输入连接数据库的密码即可。 2、jar包下载 在mysql官网下载mysql对应版本...
  • Sun公司为了简化开发人员的(对数据库的统一)操作,提供了一个(Java操作数据库的规范),称为JDBC 这些规范的实现由具体的厂商去做~ 对于开发人员来说,我们只需要掌握JDBC接口的操作即可 java.sql javax.sql 还...
  • 可以看到,这里面有一个mysql-connector-java-8.0.26.jar包,这个jar包是待会我们要将其投放到IDEA中的 2,下载安装mysql 下载网址在MySQL :: Download MySQL Installer 下载好之后,由于我的mysql大二学习java...
  • IDEA利用JDBC连接数据库时出现的错误 java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver 这是因为mysql-connector-java包没有导入造成的,下载地址可看我的这篇文章,里面指明了它的下载地址,版本不要...
  • IDEA中进行jdbc操作,进行增删改查1.mysql数据库的基础配置2.IDEA中对数据库连接3.写一个JDBC步骤创建Test类,如下:4.加载jar驱动4.利用JDBC连接数据库5.利用JDBC来实现增删改查 DAY2 1.mysql数据库的基础...
  • 连接数据库步骤: 1>加载驱动——-2>获取连接对象—–3>创建命令—–4>执行sql语句,并且返回结果集——5>处理结果集—–6>关闭连接 1.加载驱动 Class.forname(“com.mysql.jdbc.Driver”); 2....
  • 1.2 安装Java编译器,我使用的编译器是IntelliJ IDEA 15.0.6,如果使用的编译器是eclipse或Myeclipse,导入JDBC步骤可能与我不同,其他步骤差别不大。 1.3 安装SQL server 2008及管理工具,这个可以参考我的另一...
  • 运行报错,分析是mysql驱动的问题,发现没有导入mysql驱动 导入后即恢复正常 导入步骤: ctrl+alt+shift+s打开 点击右边“+”号 选择JARs or directories ...
  • JDBC连接sql server数据库步骤

    千次阅读 2016-05-26 14:41:07
    JDBC连接sql server数据库步骤 1、加载JDBC驱动程序(只做一次):   在连接数据库之前,首先要加载想要连接数据库的驱动到JVM(Java虚拟机),   这通过java.lang.Class类的静态方法forName(String  ...
  • IDEA配置Tomcat1,点击Run?EDit Configurations…2.点击左侧“+”号,找到Tomcat Server?Local(若是没有找到Tomcat Server 可以点击最后一行 34 items more)3.在Tomcat Server -> local-> Server -> ...
  • 1.根据自己的mysql数据库的版本,去下载相应的mysql connectionJ 的包 mysql的官网操作流程: step1:百度搜索栏:mysql step2:进入官网 step3:选择connector/J step4:选择zip格式 step5:解压压缩包,复制jar...
  • 二、打开数据库并启动连接 (我是在IDEA中写的,提前导包) 三、不会导包就在Maven中导,在pom.xml中的dependencise放,版本号看自己要高版本还是低版本。放进去然后可以刷新重新加载一下让maven自己下依赖。 <...
  • (1) 阅读参考资料,理解 JDBC 的调用机制; (2) 学会在 tomcat 中部署 JDBC 接口驱动; 首先修改 D:\SoftwareSetups\Tomcat\webapps\manager\META-INF\context.xml,在 其中添加以下代码: &lt;Resource ...
  • 步骤: (1)注册驱动 (2)获取数据库连接 (3)获取数据库操作对象(执行sql语句的) (4)执行sql语句(crud操作) (5)处理查询结果 (6)释放资源 注册驱动 下边是在IDEA2021中配置: (1)创建一个java空...
  • 首先先说一下哈,连接数据库我搜了好多好多的博客文档啥的,去mysql的官网的文档也瞄了,但最终的结果就是,一行一行报错,解决一行就立马报错下一行,然后我人就傻了         ...
  • ​ 主要是基于mysql8.0版本,简单介绍了下,在idea中如何使用JDBC连接数据库,并且将读取的数据进行显示。
  • JDBC连接mysql数据库详解 1.介绍:jdbc(java database connectivity) 为java开发者使用数据库提供了通义的编程接口,...4.JDBC连接数据库,创建一个以JDBC连接数据库的程序,包含7个步骤: 首先,准备JDBC所需的四
  • 下面的代码以连接本机的db数据库为例,演示JDBC操作数据库步骤。 加载驱动。 Class.forName("com.mysql.cj.jdbc.Driver"); 1.创建连接。 Connection con = DriverManager.getConnection("jdbc:mysql://localhost...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,865
精华内容 5,146
关键字:

jdbc连接数据库步骤idea