博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
原生jdbc操作mysql数据库详解
阅读量:6322 次
发布时间:2019-06-22

本文共 5194 字,大约阅读时间需要 17 分钟。

首先给大家说一下使用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();                }            }        }    }}

 

转载地址:http://rujaa.baihongyu.com/

你可能感兴趣的文章
发布-订阅方式实现异步并发
查看>>
程序员只拿到5千工资吐槽无法生活,网友:别在意薪资
查看>>
使用React、Electron、Dva、Webpack、Node.js、Websocket快速构建跨平台应用
查看>>
JVM之类加载机制
查看>>
JVM如何获取当前容器的资源限制
查看>>
flask-restful 大型项目结构示例
查看>>
JavaScript 精粹 基础 进阶(2)表达式和运算符
查看>>
用gulp搭建小程序开发编译环境
查看>>
js基础语法(1)
查看>>
Java线程同步的几种方式
查看>>
Lambda
查看>>
将本地图片上传至七牛云
查看>>
【深入浅出ES6】Class
查看>>
addEventListener中的EventListener接口对象
查看>>
css3 transform,translate,animation
查看>>
学习Python for Data Science:在数据科学中使用Python库
查看>>
Julia 1.0 中文文档
查看>>
删除数组中指定的一个或多个对象
查看>>
利用SDWebImage将imageStr数组转成image数组
查看>>
Ethereum地址是如何生成的
查看>>