开发者社区> 老鼠屎> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

原生jdbc操作mysql数据库详解

简介: 首先给大家说一下使用JDBC链接数据库的步骤   1.加载链接数据库驱动   2.建立数据库链接   3.创建数据库操作对象   4.编写sql语句,执行sql语句   5.获取结果集   6.释放资源 我这边采用的是maven构建工具创建的java项目;如果不使用maven创建的话也没有什么不同,...
+关注继续查看

首先给大家说一下使用JDBC链接数据库的步骤

  1.加载链接数据库驱动

  2.建立数据库链接

  3.创建数据库操作对象

  4.编写sql语句,执行sql语句

  5.获取结果集

  6.释放资源

我这边采用的是maven构建工具创建的java项目;如果不使用maven创建的话也没有什么不同,因为都是在main方法里面写的嘛!

只是需要导入jdbc需要的jar包即可,然后下面建项目的这些步骤就可以直接跳过了

  首先点击新建项目

如果你的这里没有Maven Project 这个选项的话,那就直接点击Other,有的话就直接点击Maven项目即可!

 

点完以后在这里搜索maven也是一样的,选择Maven  Project   然后next

 

 直接使用默认  继续next   

 

找到我选中的那一条   ,其他地方不用填 ,继续next

 

主要目的不是为了构建项目,所以这上面两个需要填写的地方可以随意些,上面的代表包名 ,第二个代表项目名,然后Finish

 

 然后在pom.xml里面加入如下配置;我是不记得需要那几个jar包了,所以直接全部放进去了,哈哈哈哈哈

现在开始就要写代码了,首先建一个main方法,很简单的写一个例子

package com.TestJDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * Hello world!
 *
 */
public class Demo01 
{
    public static void main( String[] args )
    {
        Connection connection=null ;
        Statement statement=null;
        ResultSet resultSet = null;
        try {
            //1.加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.获取连接对象(参数解释,第一个是代表jdbc的方式访问mysql数据库,localhost代表是访问本地的,3306端口号,db_test01代表数据库名字,后面两个代表账户密码
             connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01","root","root");
            
            //3.获取执行sql对象
             statement = connection.createStatement();
            //4.编写sql语句,执行sql
            String sql="select * from stu";
            //5.获取结果集 ,查询操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql)
            //如果是增删改操作,失败了会返回0            
            resultSet = statement.executeQuery(sql);
            if(resultSet.next()){
          //获取字符串类型的值 String name
= resultSet.getString("name"); String sex = resultSet.getString("sex");
            //获取int型的值
int age = resultSet.getInt("age"); System.out.println(name+" ,"+sex+","+age); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { //6.释放连接 if(resultSet!=null){ try { resultSet.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(statement!=null){ try { statement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(connection!=null){ try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }

 下面改了一下,是一个预编译的案例

package com.TestJDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * Hello world!
 *
 */
public class Demo01 {
    public static void main(String[] args) {
        Connection connection = null;
        PreparedStatement statement = null;
        ResultSet resultSet = null;
        try {
            // 1.加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 2.获取连接对象(参数解释,第一个是代表jdbc的方式访问mysql数据库,localhost代表是访问本地的,3306端口号,db_test01代表数据库名字,后面两个代表账户密码
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01", "root", "root");

            // 3.获取执行sql对象
            // 4.编写sql语句,执行sql(预编译,用?号代替值)
            String sql = "select * from stu where id=?";
            statement = connection.prepareStatement(sql);
            //然后再设置进去,可以设置多个值
            statement.setString(1, "1");
            resultSet = statement.executeQuery();
            // 5.获取结果集
            // ,查询操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql)
            // 如果是增删改操作,失败了会返回0
            if (resultSet.next()) {
                // 获取字符串类型的值
                String name = resultSet.getString("name");
                String sex = resultSet.getString("sex");
                // 获取int型的值
                int age = resultSet.getInt("age");
                System.out.println(name + " ," + sex + "," + age);
            }

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            // 6.释放连接
            if (resultSet != null) {
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            if (statement != null) {
                try {
                    statement.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            if (connection != null) {
                try {
                    connection.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }
}

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Centos安装MySQL详细步骤
Centos安装MySQL详细步骤
36 0
Navicat for MySQL 安装以及初始创建连接,新建数据表
Navicat for MySQL 安装以及初始创建连接,新建数据表
17 0
系统已有MYSQL环境,如何安装宝塔面板
最近一直想搞一个在线博客网站,把代码部署到服务器。 下载己经下载了宝塔的.exe文件,安装提示系统已经存在MYSQL环境,请用纯净系统安装。
80 0
安装MySQL详细说明(以及各种报错问题的解决)
安装MySQL详细说明(以及各种报错问题的解决)
16 0
2022最新mysql安装与配置教程(简单易懂,图文解释)
2022最新mysql安装与配置教程(简单易懂,图文解释)
61 0
阿里云服务器安装MySQL环境
阿里云服务器安装MySQL环境
27 0
Linux安装MySQL时注意事项
主要针对遇到的异常进行记录,后续遇到会继续填充
30 0
CentOS6.9源码编译安装nginx+php7+mysql环境
这篇笔记记录了在CentOS6.9中源码编译安装nginx1.14,php7,mysql5.6的过程,并附上启动脚本,记录了集成的过程,mysql5.6并未使用官方二进制包,而是自己通过源码编译安装的 相关笔记:CentOS7源码编译安装nginx+php7.
1684 0
Linux环境下安装mysql并分配用户权限
Linux环境下安装mysql并分配用户权限 1、首先下载mysql安装包     下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads     下载版本:我这里选择的5.
1951 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
冬季实战营第三期:MySQL数据库进阶实战
立即下载
OPTIMIZING SPARK DEPLOYMENTS FOR CONTAINERS: ISOLATION, SAFETY, AND PERFORMANCE
立即下载
好的 MySQL 兼容可以做到什么程度
立即下载