实例:使用JDBC连接MySQL数据库
只要直接使用JDBC连接,则在连接的时候必须输入用户名和密码。
现在我们安装一下MySQL5.0哈~
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_零基础学JAVA
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_JAVA_02
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_JAVA_03
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_JAVA_04
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_JAVA_05
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_ResultSet_06
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_ResultSet_07
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_零基础学JAVA_08
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_零基础学JAVA_09
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_ResultSet_10
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_ResultSet_11
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_JAVA_12
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_ResultSet_13
数据库的连接端口为3306
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_ResultSet_14
指定编码为GBK
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_PreparedStatement_15
是否在windows中自动运行,选择的是否,这样系统启动会快点哈~
把mysql的所有命令加入到path路径之中。
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_MySQL_16 
设置MySQL密码,Mysql中用户名是root,密码设置为mysqladmin
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_JAVA_17 
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_PreparedStatement_18
MySQL安装完后,现在就可以使用它了哈~
连接MySQL数据库:mysql -uroot -pmysqladmin
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_零基础学JAVA_19
建立一个51cto数据库
create database 51cto;
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_PreparedStatement_20
创建一张表,我们写一个建表语句哈~
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_ResultSet_21
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_MySQL_22
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_ResultSet_23
CREATE TABLE person(    
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT ,    
name VARCHAR(20) NOT NULL ,    
age INT    
) ;
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_ResultSet_24
注意:
之前使用的连接都是JDK本身提供的(JDBC-ODBC),那么现在使用mysql数据库,则数据库的驱动程序只能从网上单独下载。驱动程序下载之后,后缀是 *.jar,那么我们可以直接此jar包设置到classpath路径之中。
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_ResultSet_25
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_PreparedStatement_26
此处是把mysql 驱动程序设置到classpath之中,这样就可以直接在程序中使用mysql的数据库。
注意:
· mysql驱动程序的路径:org.gjt.mm.mysql.Driver
· 连接地址:jdbc:mysql://IP地址:3306/数据库名称(jdbc:mysql//localhost:3306/51cto)
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_JAVA_27
JDBCMySQL代码:
package com.redking.jdbc.demo;    
import java.sql.Connection;    
import java.sql.DriverManager;    
import java.sql.SQLException;    
import java.sql.Statement;    
public class JDBCMySQL {    
        public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";    
        public static final String DBURL = "jdbc:mysql://localhost:3306/51cto";    
        //现在使用的是mysql数据库,是直接连接的,所以此处必须有用户名和密码    
        public static final String USERNAME = "root";    
        public static final String PASSWORD = "mysqladmin";    
        public static void main(String[] args) {    
                //数据库连接对象    
                Connection conn = null;    
                //数据库操作对象    
                Statement stmt = null;    
                //1、加载驱动程序    
                try {    
                        Class.forName(DBDRIVER);    
                } catch (ClassNotFoundException e) {    
                        e.printStackTrace();    
                }    
                //2、连接数据库    
                //通过连接管理器连接数据库    
                try {    
                        //在连接的时候直接输入用户名和密码才可以连接    
                        conn = DriverManager.getConnection(DBURL,USERNAME,PASSWORD);    
                } catch (SQLException e) {    
                        e.printStackTrace();    
                }    
                //3、向数据库中插入一条数据    
                String sql = "INSERT INTO person(name,age) VALUES ('Michael',20)";    
                try {    
                        stmt = conn.createStatement();    
                } catch (SQLException e) {    
                        e.printStackTrace();    
                }    
                //4、执行语句    
                try {    
                        stmt.executeUpdate(sql);    
                } catch (SQLException e) {    
                        e.printStackTrace();    
                }    
                //5、关闭操作,步骤相反哈~    
                try {    
                        stmt.close();    
                        conn.close();    
                } catch (SQLException e) {    
                        e.printStackTrace();    
                }    
        }    
}
执行看下效果:
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_JAVA_28
以后如果要跟数据库连接实际上上面的的代码都是固定的,所以不同的数据库只是驱动程序和连接地址,包括用户名和密码不同,其他的操作就都一样。
注意点:
一般在mysql数据库中会出现乱码,出现乱码主要是之前没有设置好系统编码。
此时只能按以下步骤操作:
· 打开mysql安装程序中的my.ini文件。
|- default-character-set=gbk
|- default-character-set=gbk
|- 两个地方的编码同时修改即可,一般中文是为GBK
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_MySQL_29
· 需要重新启动mysql服务,因为重新启动之后才能把新的配置文件读取进来。
|- 停止mysql服务:net stop mysql
|- 启动mysql服务:net start mysql
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_JAVA_30
[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二_PreparedStatement_31
· 删除掉原有的数据库
· 重新建立

这样一系列步骤之后编码就解决了,不会存在乱码问题了哈~
总结
1、可以使用mysql数据库进行完整的基于数据库的程序设计了
· 增加数据:执行SQL语句(INSERT INTO 表名称(字段…) VALUES ())
· 修改数据:UPDATE 表名称 SET 字段=新值,… WHERE 条件
· 删除数据:DELETE FROM 表名称 WHERE 条件
以上的这些标准SQL语句都是可以直接在数据库中执行的
2、掌握JDBC以下几个核心接口
· Connection:数据库连接
· Statement:数据库操作(比较少用)
|- PreapredStatment:预处理(比较常用)
· ResultSet:取得返回的结果
· JDBC 2.0之后提供的一个最主要的新功能:批处理,要么同时成功,要么同时失败。
额外内容:
JDBC 2.0还有很多其他的特性,滚动结果集。。等,这些操作如果真要使了,则程序肯定死。
注意点:
数据库设计属于JAVA门面设计模式。
可以理解为一环套一环:想出去游玩:
先上车 --> 车负责给你拉到游乐园 --> 玩了
面试中:
往往会直接写出一个数据库的插入数据的代码。
#############################################