mysql基础入门

一、JDBC相关概念介绍

1.1、数据库驱动

 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道,如下所示:

  

1.2、JDBC介绍

  SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC。这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加载具体的驱动,就可以操作数据库。

如下图所示:

  

  JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成。
  组成JDBC的2个包:
   java.sql
   javax.sql
  开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)。

二、编写JDBC程序

2.1、搭建实验环境    

  1、在mysql中创建一个库,并创建user表和插入表的数据。

  SQL脚本如下:

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,'zhansan','123456','zs@sina.com','1980-12-04');
insert into users(id,name,password,email,birthday) values(2,'lisi','123456','lisi@sina.com','1981-12-04');
insert into users(id,name,password,email,birthday) values(3,'wangwu','123456','wangwu@sina.com','1979-12-04');

  2、编写程序从user表中读取数据,并打印在命令行窗口中。
  具体代码如下:

package cn.itheima.cn;

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


public class jdbcFristDemo {

    public static void main(String[] args) throws Exception{
        //要连接的数据库
        String url = "jdbc:mysql://localhost:3306/jdbcStudy";
        //连接数据库时使用的用户名
        String username = "root";
        //连接的数据库时使用的密码
        String password = "root";
        
        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取与数据库的连接
        Connection conn= DriverManager.getConnection(url, username, password);
        //3.创建执行sql语句的对象(获取用于向数据库发送sql的与语句的statement对象)
        Statement st = conn.createStatement();
        //4.书写sql语句
        String sql = "select id,name,password,email,birthday from users";
        //5.向数据库发送sql,并获取代表结果集的resultset
        ResultSet rs = st.executeQuery(sql);
        
        //取出结果集的数据
        while(rs.next()){
            System.out.println("id=" + rs.getObject("id"));
            System.out.println("name=" + rs.getObject("name"));
            System.out.println("password=" + rs.getObject("password"));
            System.out.println("email=" + rs.getObject("email"));
            System.out.println("birthday=" + rs.getObject("birthday"));
        }
        
        //关闭链接,释放资源
        rs.close();
        st.close();
        conn.close();
    } 
}

结果:

 

posted @ 2019-03-27 20:09  984653197  阅读(198)  评论(0编辑  收藏  举报