javamysql

JAVA连接mysql-----对数据库进行添加、修改、删除。

先要了解其中JDBC中的类和接口


  1. Connection接口:

​ Connection 接口代表与特定数据库的连接,就是用来连接数据库的。

2.Statement 接口:

​ statment 接口用于在已经建立在连接数据库的基础上向数据库发送SQL语句。

常用的方法:

execute(String sql)>>>执行静态的select语句,该语句可能返回多个值。

executeQuery(String sql)>>>执行给定的SQL语句,返回单个Result对象。

3.PreparedStatement接口

​ PreparedStatement接口用来动态地执行SQL语句,例如对数据库进行添加、更改和删除。

4.DriverManger类:

​ .DriverManger类用来管理数据库中的所有驱动程序,它作用于用户和驱动程序之间,在数据库中的驱动程序之间建立连接。简单来说:就是靠这个来访问数据库的用户,并连接数据库。


一、第一步连接mysql:

package javamysql;
import java.sql.*;

public class threeDemo {
	static Connection con;
	static Statement sql;
	static ResultSet res;
	
	public Connection getConnection() {
		try {
			Class.forName("com.mysql.jdbc.Driver");//固定写法,加载数据库驱动类
			System.out.println("数据库加载成功");
			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		try {
			//通过访问数据库的URL,获取数据库连接对象
			con=DriverManager.getConnection("jdbc:mysql://localhost:3306/xinxi","root","123456");
				System.out.println("数据库连接成功");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return con;//返回一个Connection的对象
		
		
	}
	public static void main(String[] args) {
		threeDemo cDemo=new threeDemo();
		con=cDemo.getConnection();//调用链接库的方法
		try {
			
			Statement sql = con.createStatement();//实例化Statement对象
			res=sql.executeQuery("select * from student");//执行sql语句
			
		  while(res.next()) {
			  System.out.println(res.getString("name")+" "+res.getInt("age"));
		  }
		  
		  
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		
	}
}

效果如图:javamysql_第1张图片


二、对数据库进行对数据库进行添加、修改、删除。

package javamysql;
import java.sql.*;

public class insertDemo {
	static Connection con;
	static PreparedStatement sql;
	static ResultSet res;
	
	public Connection getConnection() {
		try {
			Class.forName("com.mysql.jdbc.Driver");//固定写法,加载数据库驱动类
			System.out.println("数据库加载成功");
			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		try {
			//通过访问数据库的URL,获取数据库连接对象
			con=DriverManager.getConnection("jdbc:mysql://localhost:3306/xinxi","root","123456");
				System.out.println("数据库连接成功");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return con;//返回一个Connection的对象
		
		
	}
	public static void main(String[] args) {
		insertDemo in=new insertDemo();
		con=in.getConnection();//调用链接库的方法
		try {
			
			//还没对mysql数据进行改动的之前的数据
			sql=con.prepareStatement("select * from student");
			res=sql.executeQuery();
			while(res.next()) {
				  System.out.println(res.getString(1)+" "+res.getString(2));
				 
			}
			 System.out.println("---------------------------------------------");
			//添加mysql数据
			sql=con.prepareStatement("insert into student "+"values(?,?)");//实例化预处理对象
			sql.setString(1, "snake");
			sql.setString(2, "21");
			sql.executeUpdate();
			//更改mysql数据
			sql=con.prepareStatement("update student set name"
					+"=?where age=19");
			sql.setString(1, "张大炮");
			sql.executeUpdate();
			//删除mysql数据
			sql=con.prepareStatement("delete from student where age=20");
			sql.executeUpdate();
			
			//执行sql处理
			sql=con.prepareStatement("select * from student");
			res=sql.executeQuery();
		  while(res.next()) {
			  System.out.println(res.getString(1)+" "+res.getString(2));

		  }
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		
	}
}

效果:javamysql_第2张图片

你可能感兴趣的:(笔记,one,day)