简单的JDBC实例分享

前言:安装好数据库之后,我们编写的Java程序是不能直接使用数据库的,而JDBC(Java Database Connectivity,即java数据库连接)是java语言里用来规范客户端程序访问数据库的API,有了它,我们就可以向各种关系型数据库发送SQL语句,从而实现对数据库的增删改查等操作。

准备工作:

1.数据库:这里以MySQL为例,创建一个Person表,四个字段分别为:自增主键id、姓名name、性别gender、年龄age

DROP TABLE IF EXISTS `person`;
CREATE TABLE `person` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(11) DEFAULT NULL,
  `gender` varchar(11) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

INSERT INTO `person` VALUES ('1', '小明', '男', '18');
INSERT INTO `person` VALUES ('2', '小芳', '女', '19');
INSERT INTO `person` VALUES ('3', '小刚', '男', '20');
INSERT INTO `person` VALUES ('4', '小丽', '女', '21');

2.数据库驱动程序jar包:这里使用的是mysql-connector-java-5.1.42-bin.jar

3.在eclipse中导入驱动包:右键项目点击Builder Path----Configure Builder Path----Add External JARs----找到jar包位置选择打开----Ok,可以开始搞事情了!

图示如下:

简单的JDBC实例分享

先完整演示一段简单的JDBC操作过程。

package com.jdbc.demo;

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

//一段完整的jdbc操作过程,后面会详细介绍,为了代码视图简洁,异常均抛出。
public class Demo {
   
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //第1步,注册加载驱动类
        Class.forName("com.mysql.jdbc.Driver");
        //第2步,获取数据库连接,方法中3个参数依次为:
        //url:就是你要连接的数据库的地址,不同的数据库格式会有差异
        //user:就是数据库的用户名,例如MySQL的root
        //password:数据库连接密码
        String url = "jdbc:mysql://127.0.0.1/hb?characterEncoding=utf-8";
        String user = "root";
        String password = "123123";
        Connection conn = DriverManager.getConnection(url, user, password);
        //第3步,构造语句集对象,为了简要直观,这里使用Statement,不过实际开发建议用PreparedStatement
        String sql = "select * from person";
        Statement stmt = conn.createStatement();
        //第4步,提交SQL语句,这是是查询,所以调用executeQuery方法,会返回一个集合,我们可以遍历输出其中信息;
        //如果是增删改,不同于数据库中的3种SQL语句,这里都是调用executeUpdate方法,返回的是int值
        ResultSet rs = stmt.executeQuery(sql);
        //第5步(可选),处理结果,在这里我们输出Person表中所有人名
        while(rs.next()) {
            String name = rs.getString("name");
            System.out.println(name);
        }
        //第6步,关闭相关对象,这里为ResultSet,Statement,Connection
        //注意!关闭顺序和声明顺序相反!依次如下
        rs.close();
        stmt.close();
        conn.close();
       
    }

}

程序运行结果如下:

简单的JDBC实例分享

 相关API介绍

java.sql.Connection:

  与数据库的连接,注意导包不要导错,因为导入MySQL驱动后,在com.mysql.jdbc下也有个Connection,如果导成这个会出错;

  连接由JDBC管理层的DriverManager类调用getConnection方法获得,方法中后两个参数比较简单,一个用户名一个密码,第一个参数url格式则与各数据库有关

    MySQL: jdbc:mysql://<host><:port>/<database_name>,默认端口3306,如果服务器使用默认端口则port可以省略,可以在URL中添加额外的连接属性jdbc:mysql://<host>:<port>/<database_name>?property1=value1&property2=value2;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0744e66079f08b82208350ca2bdbc54b.html