最简单的使用JDBC[连接数据库] mysql 2019年3月18日

最极简版本的, 我们这里以mysql为例:

首先要创建maven工程, 需要引入jar包:,这里需要注意, 如果你安装的是mysql最新版本8以上的, 下面有些地方需要更改,具体就是mysql连接的url, 和5版本的不一样,具体解决请自行百度哈.这里只演示mysql5版本的?

依赖:

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.21</version>
</dependency>

第一步, 连接驱动

 //连接驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println("连接驱动失败!!");
            e.printStackTrace();
        }

第二步, 获取连接 conn

//创建连接conn
        Connection conn = null;
        try {
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF8", "root", "root");
        } catch (SQLException e) {
            System.out.println("创建连接失败!!");
            e.printStackTrace();
        }

第三步, 获取sql的执行者:

//连接者创建完成之后创建执行者
        Statement state = null;
        try {
            state = conn.createStatement();
        } catch (SQLException e) {
            System.out.println("创建执行者完成!!");
            e.printStackTrace();
        }

第四步, 执行sql语句, 这里我写了三个, 分别为查询, 增加, 更新,

//执行者开始执行查询sql语句
        ResultSet resultSet = null;
        try {
            resultSet = state.executeQuery("SELECT * FROM  person");
        } catch (SQLException e) {
            System.out.println(" =sql查询执行失败! ");
            e.printStackTrace();
        }

        if (resultSet != null) {
            try {
                while (resultSet.next()) {
                    System.out.println(resultSet.getString(1) + "-----" + resultSet.getString(2) + "-----" + resultSet.getString(3) + "-----" + resultSet.getString(4));
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        //执行者开始执行查询sql语句
        try {
            //boolean execute = state.execute("insert into person (id,address,age,name ) values (null,'河北',28,'王1')"); 如果是插入的话, 这个方法会返回false的,具体看下面截图描述
            int execute = state.executeUpdate("insert into person (id,address,age,name ) values (null,'河北',28,'王1')");
            System.out.println(" =插入->>> " + execute);
        } catch (SQLException e) {
            System.out.println(" =执行插入失败! ");
            e.printStackTrace();
        }

        //执行者开始执行查询sql语句
        try {
            int i = state.executeUpdate("update person set name='王大哥' where id=128");
            System.out.println(" =更新->>> "+i );
        } catch (SQLException e) {
            System.out.println("更新失败!");
            e.printStackTrace();
        }

上面关于 '插入'  有一个地方有疑问的话: 查询这个地方:http://blog.sina.com.cn/s/blog_963fb3af01013rcs.html

懒得点开的话就看下面截图中的这句话

第五步:处理结果集

其实上面已经处理结果集了啊啊啊啊啊啊

第六步, 关闭所有连接

        // 执行完毕之后, 关闭所有连接
        try {
            resultSet.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            state.close();
        } catch (SQLException e) {

        }
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

完事搞定了;下面贴一下

打印结果如下

这是现在表结果:

 

 

 

相关代码:

import java.sql.*;

public class ConnectByJDBC {
    public static void main(String[] args) {

        //连接驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println("连接驱动失败!!");
            e.printStackTrace();
        }
        //创建连接conn
        Connection conn = null;
        try {
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF8", "root", "root");
        } catch (SQLException e) {
            System.out.println("创建连接失败!!");
            e.printStackTrace();
        }
        //连接者创建完成之后创建执行者
        Statement state = null;
        try {
            state = conn.createStatement();
        } catch (SQLException e) {
            System.out.println("创建执行者完成!!");
            e.printStackTrace();
        }
        //执行者开始执行查询sql语句
        ResultSet resultSet = null;
        try {
            resultSet = state.executeQuery("SELECT * FROM  person");
        } catch (SQLException e) {
            System.out.println(" =sql查询执行失败! ");
            e.printStackTrace();
        }

        if (resultSet != null) {
            try {
                while (resultSet.next()) {
                    System.out.println(resultSet.getString(1) + "-----" + resultSet.getString(2) + "-----" + resultSet.getString(3) + "-----" + resultSet.getString(4));
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        //执行者开始执行查询sql语句
        try {
            //boolean execute = state.execute("insert into person (id,address,age,name ) values (null,'河北',28,'王1')"); 如果是插入的话, 这个方法会返回false的,
            int execute = state.executeUpdate("insert into person (id,address,age,name ) values (null,'河北',28,'王1')");
            System.out.println(" =插入->>> " + execute);
        } catch (SQLException e) {
            System.out.println(" =执行插入失败! ");
            e.printStackTrace();
        }

        //执行者开始执行查询sql语句
        try {
            int i = state.executeUpdate("update person set name='王大哥' where id=128");
            System.out.println(" =更新->>> "+i );
        } catch (SQLException e) {
            System.out.println("更新失败!");
            e.printStackTrace();
        }

        // 执行完毕之后, 关闭所有连接
        try {
            resultSet.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            state.close();
        } catch (SQLException e) {

        }
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值