驱动:声卡,显卡,数据库

我们的程序会通过数据库的驱动,和数据库打交道!
SUN公司为了简化开发人员的(对数据库的统一)操作,提供了一个(java操作数据库的)规范,俗称JDBC

创建测试数据库
- CREATE DATABASE `jdbcStudy` CHARACTER SET utf8 COLLATE utf8_general_ci;
-
- USE `jdbcStudy`;
-
- CREATE TABLE `users`(
- `id` INT PRIMARY KEY,
- `NAME` VARCHAR(40),
- `PASSWORD` VARCHAR(40),
- `email` VARCHAR(60),
- birthday DATE
- );
-
- INSERT INTO `users`(`id`,`NAME`,`PASSWORD`,`email`,`birthday`)
- VALUES('1','zhangsan','123456','zs@sina.com','1980-12-04'),
- ('2','lisi','123456','lisi@sina.com','1981-12-04'),
- ('3','wangwu','123456','wangwu@sina.com','1979-12-04')
-
- SELECT * FROM `users`
(1)创建一个普通项目
(2)导入数据库驱动(jar包),导入的MySQL需要添加library才可以使用

(3)编写测试代码
- package com.gt.lesson01;
-
- import java.sql.*;
-
- //我的第一个JDBC程序
- public class JdbcFirstDemo {
- public static void main(String[] args) throws ClassNotFoundException, SQLException {
- //1.加载驱动
- // DriverManager.registerDriver(new com.mysql.jdbc.Driver());
- Class.forName("com.mysql.jdbc.Driver");//固定写法,加载驱动
-
- //2.用户信息和url
- //useUnicode=true 支持中文编码
- //&charactEncoding=utf8 设定它的中文字符集
- //&useSSL=true 使用安全连接
- String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&charactEncoding=utf8&useSSL=true";
- String username = "root";
- String password = "123456";
-
- //3.连接成功,数据库对象 Connection代表数据库
- Connection connection = DriverManager.getConnection(url, username, password);
-
- // connection.rollback();
- // connection.commit();
- // connection.setAutoCommit();
-
- //4.执行SQL的对象
- Statement statement = connection.createStatement();
-
- // statement.executeQuery();//查询操作返回ResultSet
- // statement.execute();//执行任何SQL
- // statement.executeUpdate();//更新、插入、删除。都是用这个,返回一个受影响的行数
-
-
- //5.执行SQL的对象去执行sql,可能存在结果,查看返回结果
- String sql = "SELECT * FROM `users`";
- ResultSet resultSet = statement.executeQuery(sql);//返回的结果集,结果集中封装了我们全部的查询出来的结果
-
- // resultSet.getObject();//在不知道列类型的情况下使用
- //
- // //如果知道列的类型就使用指定的类型
- // resultSet.getString();
- // resultSet.getInt();
- // resultSet.getFloat();
- // resultSet.getDate();
-
- // resultSet.beforeFirst();//移动到最前面
- // resultSet.afterLast();//移动到最后面
- // resultSet.next();//移动到下一个数据
- // resultSet.previous();//移动到前一行
- // resultSet.absolute(row);//移动到最前面
-
- while (resultSet.next()) {
- System.out.println("id=" + resultSet.getObject("id"));
- System.out.println("name=" + resultSet.getObject("NAME"));
- System.out.println("pwd=" + resultSet.getObject("PASSWORD"));
- System.out.println("email=" + resultSet.getObject("email"));
- System.out.println("birth=" + resultSet.getObject("birthday"));
- System.out.println("===========================================");
- }
- //6.释放连接
- resultSet.close();
- statement.close();
- connection.close();
-
-
- }
-
-
- }