JAVA数据库编程

1,关系型数据库简介

  关系模型是由Codd提出,它是考虑数据和数据间关系而得到的数据逻辑模型 。

  一个关系型数据库通常由一个或多个表格的对象组成,数据库中的所有数据都被保存在这些表中。所有表都有一个表名,包含行和列,每列包含该列的名称,数据类型以及其他属性。而每一行则包含某列的具体数值。

2,SQL语句

  创建表格

例,创建student表,包含姓名和年龄。

create table  if not exists student(

id int primary key auto_increment,

stu_name varchar(20),

stu_age samllInt

);

其中if not exists 为保护语句,如果有student表存在也不会报错。primary key 为主键。auto_increment为主键自增长。

  删除表格注意:这里不用delete,delete是用于删除数据。)

drop table student;

  查询数据

例:select * from student;(查询student表里的所有数据)

  select name from student;(查询student表里name列的数据)

  select * from student where age>20;(查询student表里年龄大于20 的人的数据)

  向表中插入数据

例:有学生zhangsan,年龄为18

insert into student(name,age) values(‘zhangsan’,18);

3,Java数据库连接

JDBC简介
    JDBC是Java DataBase Connection的简称,是一种用Java实现的数据库接口技术
JDBC由两层组成。
    上面一层是JDBC API,负责与Java应用程序通信,向Java应用程序提供数据(Java应用程序通过JDBC中提供的相关来管理JDBC的驱动程序)。
    下面一层是JDBC Driver API,主要负责和具体数据环境的连接。

如图所示:

 

用JDBC连接数据库
    建立数据源
    加载Java应用程序所用的数据库的驱动程序。在这里你可以选择前面讲的三种方法中的一种。
    建立连接 
    与数据库建立连接的标准方法是调用方法:
    Drivermanger.getConnection(String url,String user,String password)。
        Drivermanger类用于处理驱动程序的调入,并且对新的数据库连接提供支持 
    执行SQL语句  

package com.wode.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;


public class Test01 {
  public static void main(String[] args) {
    Properties properties=new Properties();

    try {
        properties.load(new FileInputStream("./src/user.properties"));
        String name=properties.getProperty("name");
        String pwd=properties.getProperty("pwd");
        String url=properties.getProperty("url");
        Class.forName("com.mysql.jdbc.Driver");//通过反射获得mysql驱动
        Connection con=DriverManager.getConnection(url,name,pwd);//通过驱动管理器连接数据库
        String sql="select * from student";//准备SQL语句
        Statement st=con.createStatement();//发送SQL语句
        ResultSet rst=st.executeQuery(sql);//接收结果集
       while(rst.next()){
        String userName=rst.getString("name");
        System.out.println(userName);
                }
      } catch (ClassNotFoundException e) {
          // TODO Auto-generated catch block
              e.printStackTrace();
      } catch (SQLException e) {
          // TODO Auto-generated catch block
              e.printStackTrace();
      } catch (FileNotFoundException e) {
          // TODO Auto-generated catch block
              e.printStackTrace();
      } catch (IOException e) {
          // TODO Auto-generated catch block
              e.printStackTrace();
    }
  }
}

DriverManager
    DriverManager 类是 JDBC 的管理层,作用于用户和驱动程序之间。它在数据库和相应驱动程序之间建立连接 
    DriverManager 类包含一列 Driver 类,它们已通过调用方法DriverManager.registerDriver对自己进行了注册 
    例:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
        String url = "jdbc:odbc:company";
           Connection con=
                   DriverManager.getConnection(url, "userID", "passwd");
Statement 
    Statement 对象用于将 SQL 语句发送到数据库中 
    例:
    Connection con = DriverManager.getConnection(url,"userID","passwd"); 
    Statement stmt = con.createStatement(); 
    ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table2"); 
ResultSet
    ResultSet 包含符合 SQL 语句中条件的所有行,
    它通过一套 get 方法提供了对这些行中数据的访问 
    ResultSet.next 方法用于移动到 ResultSet 中的下一行,使下一行成为当前行。

posted @ 2016-05-14 17:22  土生搞IT  阅读(182)  评论(0编辑  收藏  举报