Java连接MySQL数据库

    xiaoxiao2021-03-25  62

    Java语言可以通过JDBC(Java database connectivity ,Java数据库连接)来访问MySQL数据库。JDBC的编程接口提供的接口和类与MySQL数据库建立连接,然后将SQL语句的执行结果进行处理。但这需要一个MySQL数据库的JDBC驱动程序。

     

    我们可以在MySQL官网上下载JDBC驱动。下载网址为 https://dev.mysql.com/downloads/connector/j/

    下载好的文件分别是mysql-connector-java-5.1.41.tar.gz和mysql-connector-java-5.1.41.zip,这里面都包含驱动的源代码和二进制包,源代码可以自行编译,二进制包是编译好的驱动,名称为mysql-connector-java-5.1.41-bin.jar

    然后安装MySQL Connector/J驱动

    如果使用的是MyEclipse,可以直接将JDBC驱动添加到编程工具中,单击Windows|preferences命令,进入preferences窗口,在该窗口选择Java|build path |user libraries 选项,在出现的窗口可以添加新的jar包。

    如果在MyEclipse中创建web工程,直接可以将JDBC驱动的jar包拷到指定工程的WebRoot|WEB-INF|lib目录下

     

    连接MySQL数据库

    在java.sql包中存在DriverManager类,Connnection接口,Statement接口和ResultSet接口

    DriverManager类:主要用于管理驱动程序和连接数据库Connnection类:主要用于管理建立好的数据库连接Statement接口:主要用于执行SQL语句ResultSet接口:主要用于存储数据库返回的记录

    首先使用java.lang.Class类中的forName()方法来指定JDBC驱动的类型

    Class.forName("com.mysql.jdbc.Driver");

     

    url: 指定JDBC的数据源。其基本形式是“jdbc:mysql:数据源”,数据源包括ip或主机名,端口号和数据库名

    例如:jdbc:mysql://localhost:3306:hjh  localhost表示本地计算机,3306是MySQL的端口号,hjh是数据库名

    user:MySQL数据库的用户名

    password:指定用户名的密码

     

    getConnection()方法返回值是Connection对象

           Connection connection =DriverManager.getConnection(url,user,password);//创建Connection对象

    使用getConnection()方法时需要抛出SQLException异常

     

    Connection对象调用createStatement()方法来创建Statement对象

    代码:Statement statement = connection.createStatement();

     

    Statement 对象可以调用executeQuery()方法执行SELECT语句。SELECT语句的查询结果返回给ResultSet 对象。

    调用executeQuery()方法的代码如下:

    ResultSet result =statement。executeQuery(“SELECT语句”);

    通过该语句可以将查询结果存储到result中。

     

     

     

    以下贴上连接数据库的代码

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DB { private final String url="jdbc:/mysql://localhost:3306/friend"; private final String userName="root"; private final String password="123456"; private Connection con=null; private Statement stm=null; /*通过构造方法加载数据库驱动*/ public DB(){ try{ Class.forName("com.sql.jdbc.Driver").newInstance(); }catch(Exception e){ e.printStackTrace(); System.out.println("加载数据库驱动失败"); } } //创建数据库连接 public void createCon(){ try{ con=DriverManager.getConnection(url, userName, password); }catch(Exception e){ e.printStackTrace(); System.out.println("创建数据库连接失败!"); } } //获取数据库连接 public Connection getCon(){ try{ con=DriverManager.getConnection(url, userName, password); }catch(Exception e){ e.printStackTrace(); System.out.println("获取数据库连接失败!"); } return con; } //获取Statement对象 public void getStm(){ createCon(); try{ stm=con.createStatement(); }catch(SQLException e){ e.printStackTrace(); System.out.println("创建Statement对象失败!"); } } /** * @功能 对数据库的添加,修改和删除的操作 * @参数 为要执行的SQL语句 * @返回值 boolean型值 */ public boolean executeUpdate(String sql){ System.out.println(sql); boolean mark=false; try{ getStm(); int iCount=stm.executeUpdate(sql); if(iCount>0) mark=true; else mark=false; }catch(Exception e){ e.printStackTrace(); mark=false; } return mark; } //查询数据库 public ResultSet executeQuery(String sql){ ResultSet rs=null; try{ getStm(); try{ rs=stm.executeQuery(sql); }catch(Exception e){ e.printStackTrace(); System.out.println("查询数据库失败!"); } }catch(Exception e){ e.printStackTrace(); } return rs; } //关闭数据库的操作 public void closed(){ if(stm!=null) try{ stm.close(); }catch(SQLException e){ e.printStackTrace(); System.out.println("关闭stm对象是失败!"); } if(con!=null) try{ con.close(); }catch (SQLException e){ e.printStackTrace(); System.out.println("关闭con对象失败!"); } } }

     

     

    转载请注明原文地址: https://ju.6miu.com/read-36239.html

    最新回复(0)