JAVA学习之MySQL数据库

目录

1、Java连接数据库

2、加载驱动程序

3、连接及关闭数据库

4、数据库查询操作

5、数据库增加操作

6、数据库修改操作

7、数据库删除操作


JAVA连接数据库

一、导入jar包

1、选中项目,右键,Build Path, Confiqure Build Path

 2、选择Libearies,选中Modulepath后,右侧的按钮就变成可选中状态,选择Add External JARs,在MySQL的安装包中找到连接Java的jar包,双击后变成下面这张图的样子,选择右下角的Apply and Close

二、加载驱动程序

编写代码如下,运行后如果没有出错,则证明数据库驱动程序已经配置成功

package test;
import java.sql.*;
public class Main {
	//定义MySQL的数据库驱动程序
	public static final String DBC="com.mysql.cj.jdbc.Driver";

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			//加载驱动程序
			Class.forName(DBC);
		}catch(ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

}

注意:有时配置的时候出现了以下错误:java.lang.ClassNotFoundException:com.mysql.cj.jdbc.Driver

可能是CLASSPATH设置有问题,也可能是命令行方式没有重新启动造成的

三、连接及关闭数据库

代码如下:

注:数据库打开后就要关闭,在程序的操作中数据库的资源是非常有限的,这就要求开发者在操作完数据库后必须将其关闭,如果没有这样做,在程序运行中就可能产生无法连接到数据库的异常

package test;
import java.sql.*;
public class Main {
	//定义MySQL的数据库驱动程序
	public static final String DBC="com.mysql.cj.jdbc.Driver";
	//定义MySQL数据库的连接地址,user为数据库名
	 static final String DB_URL = "jdbc:mysql://localhost:3306/user";
	 //数据库的用户名
	  static final String USER = "root";
	 //数据库的密码
	  static final String PASS = "123456";
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//数据库连接
		Connection conn=null;   
		try {
			//加载驱动程序
			Class.forName(DBC);
		}catch(ClassNotFoundException e) {
			e.printStackTrace();
		}
		try {
			//连接数据库
			 conn = DriverManager.getConnection(DB_URL,USER,PASS);
		}catch(SQLException e){
			e.printStackTrace();
		}
		System.out.println(conn);
		try {
			conn.close();
		}catch(SQLException e) {
			e.printStackTrace();
		}
	}

}

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

四、数据库查询操作

用Navicat连接数据库,后续操作在里面进行

首先新建一个数据库user,新建表information,包括name和password两个字段,往里面存入一些数据,用eclipse来查询。

查询操作的代码如下,可在连接操作的基础上进行修改

package test;
import java.sql.*;
public class Main {
	//定义MySQL的数据库驱动程序
	public static final String DBC="com.mysql.cj.jdbc.Driver";
	//定义MySQL数据库的连接地址,user为数据库名
	 static final String DB_URL = "jdbc:mysql://localhost:3306/user";
	 //数据库的用户名
	  static final String USER = "root";
	 //数据库的密码
	  static final String PASS = "123456";
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	      Connection conn = null;//数据库连接
	        Statement stmt = null;//数据库操作
	        try{
	            // 注册 JDBC 驱动
	            Class.forName(DBC);

	            // 打开链接
	     
	            conn = DriverManager.getConnection(DB_URL,USER,PASS);

	            // 执行查询
	            stmt = conn.createStatement();
	            String sql;
	            sql = "SELECT  name, password FROM information";
	            ResultSet rs = stmt.executeQuery(sql);

	            // 展开结果集数据库
	            while(rs.next()){
	                // 通过字段检索
	               
	                String name = rs.getString("name");
	                String password = rs.getString("password");
	               
	                // 输出数据
	              
	                System.out.print(" 用户名: " + name);
	                System.out.print(", 密码: " + password);
	                System.out.print("\n");
	            }
	            // 完成后关闭
	            rs.close();
	            stmt.close();
	            conn.close();
	        }catch(SQLException se){
	            // 处理 JDBC 错误
	            se.printStackTrace();
	        }catch(Exception e){
	            // 处理 Class.forName 错误
	            e.printStackTrace();
	        }
	        finally{
	            // 关闭资源
	            try{
	                if(stmt!=null) stmt.close();
	            }
	            catch(SQLException se2){
	            }// 什么都不做
	            try{
	                if(conn!=null) conn.close();
	            }
	            catch(SQLException se){
	                se.printStackTrace();
	            }
	        }
	    }

	}

查询结果如下,查询成功

五、数据库插入操作

注:数据库的增删改只需要改变SQL语句就可以了,其余代码都是一样的

 增加:

  String sql="INSERT INTO information(name,password)"+"VALUES('李兴华','011')";

修改:

 String sql="UPDATE information SET password='111' WHERE name='李华'";

删除:

 String sql="DELETE FROM information WHERE name='李华'";

插入操作完整代码如下:

package test;
import java.sql.*;
public class Main {
	//定义MySQL的数据库驱动程序
	public static final String DBC="com.mysql.cj.jdbc.Driver";
	//定义MySQL数据库的连接地址,user为数据库名
	 static final String DB_URL = "jdbc:mysql://localhost:3306/user";
	 //数据库的用户名
	  static final String USER = "root";
	 //数据库的密码
	  static final String PASS = "123456";
	public static void main(String[] args)throws Exception {
		// TODO Auto-generated method stub
	      Connection conn = null;//数据库连接
	        Statement stmt = null;//数据库操作
	      String sql="INSERT INTO information(name,password)"+"VALUES('李兴华','011')";
	      Class.forName(DBC);
	      conn=DriverManager.getConnection(DB_URL,USER,PASS);
	      //实例化statement对象
	      stmt=conn.createStatement();
	      //执行数据库更新操作
	      stmt.executeUpdate(sql);
	      //操作关闭
	      stmt.close();
	      //数据库关闭
	      conn.close();
	    }

	}

运行代码后打开Navicat,刷新后可以看到数据已经存储进去了

六、数据库修改操作

注:字符串类型要用' '引住,不然会报错,比如代码里的李华就是字符串,需要用单引号引住

package test;
import java.sql.*;
public class Main {
	//定义MySQL的数据库驱动程序
	public static final String DBC="com.mysql.cj.jdbc.Driver";
	//定义MySQL数据库的连接地址,user为数据库名
	 static final String DB_URL = "jdbc:mysql://localhost:3306/user";
	 //数据库的用户名
	  static final String USER = "root";
	 //数据库的密码
	  static final String PASS = "123456";
	public static void main(String[] args)throws Exception {
		// TODO Auto-generated method stub
	      Connection conn = null;//数据库连接
	        Statement stmt = null;//数据库操作
	      String sql="UPDATE information SET password='111' WHERE name='李华'";
	      Class.forName(DBC);
	      conn=DriverManager.getConnection(DB_URL,USER,PASS);
	      //实例化statement对象
	      stmt=conn.createStatement();
	      //执行数据库更新操作
	      stmt.executeUpdate(sql);
	      //操作关闭
	      stmt.close();
	      //数据库关闭
	      conn.close();
	    }

	}

运行代码后,打开Navicat刷新后查看,发现姓名为李华的用户密码已经改为了111,操作成功!

 七、数据库删除操作

package test;
import java.sql.*;
public class Main {
	//定义MySQL的数据库驱动程序
	public static final String DBC="com.mysql.cj.jdbc.Driver";
	//定义MySQL数据库的连接地址,user为数据库名
	 static final String DB_URL = "jdbc:mysql://localhost:3306/user";
	 //数据库的用户名
	  static final String USER = "root";
	 //数据库的密码
	  static final String PASS = "123456";
	public static void main(String[] args)throws Exception {
		// TODO Auto-generated method stub
	      Connection conn = null;//数据库连接
	        Statement stmt = null;//数据库操作
	      String sql="DELETE FROM information WHERE name='李华'";
	      Class.forName(DBC);
	      conn=DriverManager.getConnection(DB_URL,USER,PASS);
	      //实例化statement对象
	      stmt=conn.createStatement();
	      //执行数据库更新操作
	      stmt.executeUpdate(sql);
	      //操作关闭
	      stmt.close();
	      //数据库关闭
	      conn.close();
	    }

	}

运行后打开Navicat刷新后查看,姓名为李华的信息已经删除,操作成功!

猜你喜欢

转载自blog.csdn.net/lxy20011125/article/details/130211239
今日推荐