JDBC连接MySql数据库

来源:互联网 发布:腾讯安全软件管家 编辑:程序博客网 时间:2024/06/06 14:29

一、JDBC简介
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

二、JDBC连接数据库操作六步骤
1、加载数据库驱动
2、 连接数据库实例
3、创建数据库操作语句对象
4、执行数据库操作语句
5、获取执行结果,并做相应处理
6、关闭连接资源

三、具体方法
1、加载数据库驱动
加载驱动之前要添加驱动包,MySQL的驱动包为:mysql-connector-5.1.39-bin.jar;sql2000需要三个jar包:msbase.jar, mssqlserver.jar, msutil.jar。
Class.forName(“com.mysql.jdbc.Driver”),这是MySQL数据库的驱动类路径,其他如oracle数据库,sql2000,只需将驱动路径改为相应的路径即可。
2、连接数据库实例
① Connection conn = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/mydb”,”root”,”password”),括号中的参数为连接数据库的URL,数据库用户名,数据库连接密码
② Connection conn = DriverManager.getConnection(“jdbc:mysql//127.0.0.1:3306/tbuser?user=数据库用户名&password=数据库连接密码”)
jdbc:mysql://127.0.0.1:3306/tbuser?user=数据库用户名&password=数据库连接密码,表示jdbc:mysql://主机名:端口号/数据库名称?属性=属性值&属性=属性值
3、创建数据库操作语句对象
Statement stmt = conn.createStatement();此方法一般用于执行不带参数的sql语句,当需要传递参数或是需要多次执行相同的操作时,一般使用conn.createPrepareStatement()方法,其返回一个PreparedStatement对象。
4、执行sql语句
stmt.executeUpdate(“sql”);其中sql为SQL语句如:insert into user(id,name) values(2,’张三’),该方法返回一个整数值,表示执行这条SQL语句影响的行数,该方法多用于执行添加、删除、修改操作的SQL语句;
而查询语句一般使用ResultSet rs = stmt.executeQuery(“sql”);其中sql为SQL语句,如:select * from user,该方法返回一个ResultSet对象,表示查询结果集。
5、处理结果
使用ResultSet rs = stmt.executeQuery(“sql”); 执行查询语句或是带有其他返回内容的SQL语句时,将获得一个结果集rs,可用rs.next()方法结合循环获取结果集中的每个元素。
6、释放资源
Connection、Statement、PreparedStatement、ResultSet都会占用数据库或是JDBC的资源,在使用完之后一般都要将其释放。

四、程序示例

package com.softeem.jdbc1;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class Demo {    public static void main(String[] args) {        Connection conn = null;        Statement stmt = null;        try {            //加载数据库驱动            Class.forName("com.mysql.jdbc.Driver");            //获取数据库实例连接            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb", "root", "yxf614yxf61494");            //创建执行SQL语句的对象            stmt = conn.createStatement();            //执行SQL语句            int i =stmt.executeUpdate("insert into user(username,password) values('孙悟空','123456')");            //对结果进行处理            if(i>0)            {                System.out.println("添加成功!受影响的行数为:" + i);            }else{                System.out.println("添加失败!");            }        } catch (ClassNotFoundException | SQLException e) {            e.printStackTrace();        }finally{            try {                //关闭资源                if(stmt != null) stmt.close();                if( conn != null) conn.close();            } catch (SQLException e) {                e.printStackTrace();            }        }    }}
原创粉丝点击