Java访问数据库

首先简介一下JDBC:

JDBC:Java DataBase Connection.

JDBC:Java数据库连接。它是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问.

它由一组用Java语言编写的类和接口组成。

JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

一、Java访问数据库的原理:

举个例子来讲:Oracle、SQLServer、MySQL、DB2等数据库可以类比为“水厂”,Connection类比为“水厂放水到小区的阀门”,Statement类比为“小区放水到家中的阀门”,ResultSet类比为“家中放水的阀门”。

因此,当Java连接数据库的时候,先要打开水厂的阀门(Connection),然后打开小区的阀门(Statement),接着打开家中的阀门(ResultSet),这样水才能流到家中(数据库才能与用户端进行连接)。这之后,

才能使用水(JavaApp来操作结果集,进行增删改查CRUD)。

同样的,连接关闭的原则:“先开后关,后开先关”,也就是:先关家里的阀门,再关小区的阀门,最后关水厂的阀门。如果直接先关掉小区的阀门而不先关家里的阀门,那可能会影响到小区其他家庭的使用。

JDBC访问数据库的步骤: 
            1.加载数据库驱动类 
            2.获得数据库连接 
            3.获得数据库操作句柄 
            4.获得结果集(查询) 
            5.处理结果集 
            6.关闭结果集 
            7.关闭操作句柄 
            8.关闭数据库连接

二、导入数据库驱动程序(MySQL为例)和JUnit单元测试类

导入数据库驱动程序的步骤: 
        工程名上点击右键 -> Build Path -> Configure Build Path -> 在Libraries中,点击Add External JARs -> 进入MySQL的解压包里的mysql-connector-java-5.1.36-bin.jar。可以去MySQL官网下载,注意

之后可以在Window->Open Perspective->MyEclipse Database Explorer里 new一个新的MySQL Connector/J。(其它数据库类似,也需导入各自的数据库驱动程序)

导入JUnit的步骤: 
        工程名上点击右键 -> Build Path -> Add Libraries -> 选择JUnit,点击Next -> 选择JUnit 4,单击Finish -> 导入成功。

这两步完成之后,接下来就可以写代码了。

三、JDBC处理的步骤:

1.建表 / 建序列 / 初始化数据 
  (使用 PL/SQL Developer 工具完成) 
  Table:dept 
  
2.实体类/POJO/JavaBean/封装类  
  Class:Dept 
  
3.导入 数据库驱动程序 到工程  
  ojdbc6.jar  (Oracle11g) 
  ojdbc14.jar (Oracle10g) 
  
4.新建数据库工具类: 
  4.1 获取数据库连接的方法 
  4.2 关闭数据库连接的方法  
  
5.新建dao类封装对数据库的所有操作 (增删改查 - CRUD)

四,下面贴出代码:使用实体类封装数据库表

实体类(pojo类):其作用是用来封装表中的一条数据。(或:用来封装类的属性和方法)。

表中的一条记录:对应于一个实体。

写实体类:必须写三部分:属性、默认构造方法(无参构造方法)、setter和getter方法。其他方法:用到才写,不用就不写。

package com.gm.pojo;  

import java.io.Serializable;  

/**
 * 实体类(pojo类)
 *
 * @author XiangdongLee
 *
 */
public class Dept implements Serializable {
    private static final long serialVersionUID = 1L;
    private Integer deptno;
    private String dname;
    private String loc;  

    public Dept() {
        super();
    }  

    public Integer getDeptno() {
        return deptno;
    }  

    public void setDeptno(Integer deptno) {
        this.deptno = deptno;
    }  

    public String getDname() {
        return dname;
    }  

    public void setDname(String dname) {
        this.dname = dname;
    }  

    public String getLoc() {
        return loc;
    }  

    public void setLoc(String loc) {
        this.loc = loc;
    }  

}  

五,下面贴出代码:创建数据库工具类,来获得数据库连接与关闭数据库连接(以MySQL为例,其它数据库只需更改drivername,url)

package com.gm.dao;  

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

/**
 * DBUtil:数据库工具类
 *
 * @author XiangdongLee
 *
 */
public class DBUtil {
    /**
     * 获得数据库连接
     *
     * @return
     */
    public static Connection getConnection() {
        Connection conn = null;
        String driverName = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/dbmin";
        String username = "scott";
        String password = "tiger";  

        try {
            Class.forName(driverName);
            conn = DriverManager.getConnection(url, username, password);
        } catch (ClassNotFoundException e) {
            System.out.println("加载数据库驱动出错...");
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("获得数据库连接出错...");
            e.printStackTrace();
        }
        return conn;
    }  

    /**
     * 关闭数据库连接
     *
     * @param conn
     * @param ps
     * @param rs
     */
    public static void close(Connection conn, PreparedStatement ps, ResultSet rs) {
        // 关闭原则:先开后关,后开先关
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }  

        if (ps != null) {
            try {
                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }  

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }  

    public static void main(String[] args) {
        System.out.println(getConnection());
    }
}  

接下来就可以创建dao类,来封装数据表的所有操作(增删改查CRUD)

时间: 2024-08-05 11:18:45

Java访问数据库的相关文章

三国武将查询系统 //Java 访问 数据库

import java.awt.*; import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.ImageIcon; import javax.swing.JTextArea; import javax.swing.JLabel; import java.awt.Color; import java.sql.*; import

java访问数据库被拒绝,不能连接数据库ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

错误原因:mysql数据库只允许本地ip访问: 解决方法:修改mysql表设置所有ip都可以访问: 登录数据库 使用以下命令: use mysql; grant all privileges on *.* to 'root'@'%' identified by '你的数据库密码'; flush privileges: 查看是否修改成功 select host,user from user; java访问数据库被拒绝,不能连接数据库ERROR 1045 (28000): Access denied

Java访问数据库Mysql

一.概述 本文主要介绍Java接连数据库的基本方法和步骤,并对其中的几个要点进行简要说明. 二.数据库访问步骤 在Java中连接数据库进行的访问主要有以下几个步骤: 加载数据库驱动 注册数据库驱动 建立到数据库的连接 访问数据库 首先,要调用Class.ForName()加载并注册mysql驱动程序类,加载驱动程序驱动类后,需要注册驱动程序类的一个实例,DriverManager类负责管理驱动程序,这个类提供了registerDriver()方法来注册驱动程序类的实例,并且我们不需要亲自调用这个

MySQL---数据库从入门走向大神系列(七)-Java访问数据库配置及简单使用方法execute

从操作配置文件properties中读取连接字符串,通过该字符串进行数据连接,需要写三个文件其中,两个是java类,一个是后缀名为.properties的文件,该文件放在src工作目录下. 后缀为.properties的文件此处为其取名为jdbc.properties,其中的代码如下: ##MySQL driver=com.mysql.jdbc.Driver url=jdbc:mysql:///hncu?useUnicode=true&characterEncoding=utf-8 userna

jdbc快速入门(java访问数据库)

package com.itcast.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class JdbcDemo1 { public static void main(String[] args) throws ClassNotFoundException, SQLException {

java访问数据库的sql

drop database if exists STOREDB;create database STOREDB;use STOREDB; create table CUSTOMERS ( ID bigint not null auto_increment primary key, NAME varchar(16) not null, AGE INT, ADDRESS varchar(255)); create table ORDERS ( ID bigint not null auto_incr

[JavaWeb基础] 003.JAVA访问Mysql数据库

上面两篇讲解了简单的JSP + Servlet的搭建和请求,那么后面我们肯定要用到数据交互,也就是操纵数据库的数据,包括对数字的增加,删除,修改,查询.我们就用简单的MySql来做例子 我们需要引入驱动包mysql-connector-java.jar,自行去网上下载,有很多. 下面我跟着代码看看怎么进行增删改查 1.打开数据库 // 驱动程序名 private String driver = "com.mysql.jdbc.Driver"; // URL指向要访问的数据库名scutc

java web中Jdbc访问数据库步骤通俗解释(吃饭),与MVC的通俗解释(做饭)

一.Jdbc访问数据库步骤通俗解释(吃饭) 1)加载驱动 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServer”); 2) 与数据库建立连接 Connection ct=DreverManager.getConnection(“jdbc:Microsoft:sqlserver://localhost:1433;DatabaseName=dbUser,”sa”,”sa”); 3) 创建statement对象 语句对象将sql语句发送到相应的数据

如果在本地搭一个服务器和mysql数据库环境,如果使用java来访问数据库

我们可以使用speedamp来搭一个服务器环境,可以在http://download.csdn.net/detail/baidu_nod/7630265下载 解压后无需安装直接可以使用,点击SpeedAMP.exe,然后可以通过http://localhost/phpmyadmin/index.php来访问本地数据库 java可以通过jdbc来访问数据库,比较重要的是下载一个mysql-connector-java-5.1.22-bin.jar文件,然后在java工程中引用, 在代码里可以这样来