Java连接MySQL数据库

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对象失败!");
			 }
	 }
}


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值