jdbc 操作mysql数据库

MySQL数据库 JDBC操作步骤

JDBC操作步骤

程序 --> 加载驱动 --> 数据库连接 --> 数据库操作指令 --> 关闭
       指定的连接地址   例,SQL指定     释放资源 
     |
classpath指定
      
     |
      -->classpath - 指定 ->驱动程序  


连接数据库
配置MySql数据库的驱动程序
    使用MySql数据库进行开发,则必须将MySql数据库程序配置到CLASSPATH ,没有的话自己新建一个“用户变量”,如:

变量名:CLASSPATH
变量值:.;d:\MySQL\mysql-connector-java-5.1.13-bin.jar;  

内容与内容之前用“;”分割。

加载驱动程序
加载驱动程序是JDBC操作的第一步。MySQL中的数据库驱动程序路径是org.gjt.mm.mysql.Driver。

例:加载驱动程序

public class ConnectionDemo {
//定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
public static void main(String args[]){
   try{
    Class.forName(DBDRIVER) ; //加载驱动程序 
   }catch(ClassNotFoundException e){
    e.printStackTrace() ;
   }
}
}

如果以上程序可以正常运行,则驱动程序已经配置成功。

配置出错时的解决!
如果配置时出现了以下的错误提示:
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
则肯定是CLASSPATH设置有问题。

如果在CLASSPATH设置上搞不清楚,那就直接在eclipse中直接导入包操作:
在项目文件中有个src文件夹,右击 Build Path --> Configure Build Path --> Libraries --> Add External JARs... --> 找到d:\MySQL\mysql-connector-java-5.1.13-bin.jar

之后再运行程序,如果不知道是否正确则可在try语句中加一个打印出“OK” ,有的话就加载成功了。


连接及关闭数据库
使用DriverManager类连接数据库。

DriverManager类的常用方法
通过连接地址连接数据库
public static Connection getConnection(String url)
                                throws SQLException

通过连接地址连接数据库,同时输入用户名和密码
public static Connection getConnection(String url,
                                       String user,
                                       String password)
                                throws SQLException

MySQL数据库的连接地址格式
jdbc:mysql://IP地址:端口号/数据库名称
现在本机上存在一个mldn的数据库,此时的地址为jdbc:mysql://localhost:3306/mldn

提示:数据库连接地址的形式
JDBC虽然提供了与平台无关的数据库操作,但各个数据库的连接地址是有差异的,JDBC的连接地址实际上由以下3个部分组成。
--> jdbc协议:JDBC URL 中的协议总是jdbc 。
--> 子协议:驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,如mysql。
--> 子名称:一种标识数据库的方法。必须遵循“//主机名:端口/子协议”的标准URL命名约定,如//localhost:3306/mldn。

Connection类

例:连接数据库

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

public class ConnectionDemo02 {
//定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
//定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
//MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
//MySQL数据库的连接密码
public static final String DBPASS = "mysqladmin" ;
public static void main(String args[]){
   Connection conn = null ; //数据库连接
   try{
    Class.forName(DBDRIVER) ; //加载驱动程序
   }catch(ClassNotFoundException e){
    e.printStackTrace() ;
   }
   try{
    //连接MySQL数据库时,要写上连接的用户名和密码
    conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
   }catch(SQLException e){
    e.printStackTrace() ;
   }
   System.out.println(conn);
   try{
    conn.close() ; //数据库关闭
   }catch(SQLException e){
    e.printStackTrace() ;
   }
}
}

输出:
com.mysql.jdbc.JDBC4Connection@1891d8f

程序的运行结果不为空,说明此时数据库已经连接成功。

若此时运行结果发生异常,则检查一下MySQL的服务项有没有开启。

注意:数据库打开之后必须关闭。

执行数据库的更新操作
对数据库进行操作时,要用到Statement接口完成,此接口可以使用Connection接口中提供的createStatement()方法实例化。

下面使用Statement接口分别完成数据库的插入、修改、删除操作。

实例一 执行数据库插入操作
下面直接向user表中增加一条新的记录,编写一条完整的SQL语句,并通过Statement执行。

例:插入数据

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class InsertDemo {
//定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
//定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
//MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
//MySQL数据库的连接密码
public static final String DBPASS = "mysqladmin" ;
public static void main(String args[])throws Exception{
   Connection conn = null ;   //数据库连接
   Statement stmt = null ;    //数据库操作
   String sql = "INSERT INTO user(name,password,age,sex,birthday) "
    + " VALUES ('李华','www.baidu.cn',30,'男','2020-1-23')";
   Class.forName(DBDRIVER) ;   //加载驱动程序
   //连接MySQL数据库时,要写上连接的用户名和密码
   conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
   stmt = conn.createStatement() ; //实例化Statement对象
   stmt.executeUpdate(sql) ; //执行数据库更新操作
   stmt.close() ;    //操作关闭
   conn.close() ;    //数据库关闭
}
}

提示:在数据库中更新操作结束后,用SELECT * FROM user ;来查看是否已做修改。
重要:在程序中的SQL语句中的数据是固定的,如果将全部的内容换成变量,则可以按照以下的代码编写:
Statement stmt = null ;   //数据库操作
String name = "李敏" ;    //姓名
String password = "
www.baidu.cn" ; //密码
int age = 23 ;     //年龄
String sex = "女" ;    //性别
String birthday = "2003-08-23" ; //生日
String sql = " INSERT INTO user(name,password,age,sex,birthday) " 
+ " VALUES ('" + name + "','" + password + "'," + age + ",'" + sex + "','" + birthday + "') ";   //拼凑出一个完整的SQL语句


实例二 执行数据库修改

修改语句 --> UPDATE

例:数据库修改操作

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class UpdateDemo {
//定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
//定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
//MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
//MySQL数据库的连接密码
public static final String DBPASS = "mysqladmin" ;
public static void main(String args[])throws Exception{
   Connection conn = null ;   //数据库连接
   Statement stmt = null ;    //数据库操作
   int id = 3 ;     //id  
   String name = "李洛克" ;   //姓名
   String password = "
www.mldn.cn" ; //密码
   int age = 23 ;     //年龄
   String sex = "男" ;    //性别
   String birthday = "2001-08-23" ;//生日
   String sql = " UPDATE user SET name='"+ name + "',password='" + password 
     + "',age=" + age + ",sex='"+ sex + "',birthday='" 
     + birthday+ "' WHERE id=" + id ;//拼凑出一个完整的SQL语句
  
   Class.forName(DBDRIVER) ;   //加载驱动程序
   //连接MySQL数据库时,要写上连接的用户名和密码
   conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
   stmt = conn.createStatement() ;   //实例化Statement对象
   stmt.executeUpdate(sql) ;   //执行数据库更新操作
   stmt.close() ;     //操作关闭
   conn.close() ;     //数据库关闭
}
}

实例三 执行数据库删除操作

例:按id删除一条记录

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class DeleteDemo {
//定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
//定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
//MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
//MySQL数据库的连接密码
public static final String DBPASS = "mysqladmin" ;
public static void main(String args[])throws Exception{
   Connection conn = null ;   //数据库连接
   Statement stmt = null ;    //数据库操作
   int id = 3 ;      //id  
   String sql = "DELETE FROM user WHERE id=" + id;//拼凑出一个完整的SQL语句
  
   Class.forName(DBDRIVER) ;   //加载驱动程序
   //连接MySQL数据库时,要写上连接的用户名和密码
   conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
   stmt = conn.createStatement() ; //实例化Statement对象
   stmt.executeUpdate(sql) ; //执行数据库更新操作
   stmt.close() ;    //操作关闭
   conn.close() ;    //数据库关闭
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>