Home  >  Article  >  Database  >  Java连接MySQL数据库及简单操作代码_MySQL

Java连接MySQL数据库及简单操作代码_MySQL

WBOY
WBOYOriginal
2016-06-01 13:16:101053browse

1.Java连接MySQL数据库

Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的MySQL-connector-java-5.0.5-bin.jar加到classpath里,具体如下:

“我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:/MySQL-connector-java-5.0.5/MySQL-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。

package hqs;import java.sql.*;public class DataBasePractice {	public static void main(String[] args) {		//声明Connection对象		Connection con;		//驱动程序名		String driver = "com.mysql.jdbc.Driver";		//URL指向要访问的数据库名mydata		String url = "jdbc:mysql://localhost:3306/mydata";		//MySQL配置时的用户名		String user = "root";		//MySQL配置时的密码		String password = "root";		//遍历查询结果集		try {			//加载驱动程序			Class.forName(driver);			//1.getConnection()方法,连接MySQL数据库!!			con = DriverManager.getConnection(url,user,password);			if(!con.isClosed())				System.out.println("Succeeded connecting to the Database!");			//2.创建statement类对象,用来执行SQL语句!!			Statement statement = con.createStatement();			//要执行的SQL语句			String sql = "select * from student";			//3.ResultSet类,用来存放获取的结果集!!			ResultSet rs = statement.executeQuery(sql);			System.out.println("-----------------");			System.out.println("执行结果如下所示:");			System.out.println("-----------------");			System.out.println(" 学号" + "/t" + " 姓名");			System.out.println("-----------------");						String name = null;			String id = null;			while(rs.next()){				//获取stuname这列数据				name = rs.getString("stuname");				//获取stuid这列数据				id = rs.getString("stuid");				//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。				//然后使用GB2312字符集解码指定的字节数组。				name = new String(name.getBytes("ISO-8859-1"),"gb2312");				//输出结果				System.out.println(id + "/t" + name);			}			rs.close();			con.close();		} catch(ClassNotFoundException e) { 			//数据库驱动类异常处理			System.out.println("Sorry,can`t find the Driver!"); 			e.printStackTrace(); 			} catch(SQLException e) {			//数据库连接失败异常处理			e.printStackTrace();			}catch (Exception e) {			// TODO: handle exception			e.printStackTrace();		}finally{			System.out.println("数据库数据成功获取!!");		}	}}

2.添加、修改、删除操作

在上面while代码段后面添加以下代码段:

String name = null;			String id = null;			while(rs.next()){				//获取stuname这列数据				name = rs.getString("stuname");				//获取stuid这列数据				id = rs.getString("stuid");				//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。				//然后使用GB2312字符集解码指定的字节数组。				name = new String(name.getBytes("ISO-8859-1"),"gb2312");				//输出结果				System.out.println(id + "/t" + name);			}											PreparedStatement psql;			ResultSet res;			//预处理添加数据,其中有两个参数--“?”			psql = con.prepareStatement("insert into student values(?,?)");			psql.setInt(1, 8); 				//设置参数1,创建id为5的数据			psql.setString(2, "xiaogang");		//设置参数2,name 为小明			psql.executeUpdate();			//执行更新						//预处理更新(修改)数据			psql = con.prepareStatement("update student set stuname = ? where stuid = ?");			psql.setString(1,"xiaowang");		//设置参数1,将name改为王五			psql.setInt(2,10);				//设置参数2,将id为2的数据做修改			psql.executeUpdate();						//预处理删除数据			psql = con.prepareStatement("delete from student where stuid = ?");			psql.setInt(1, 5);			psql.executeUpdate();						//查询修改数据后student表中的数据			psql = con.prepareStatement("select*from student");			res = psql.executeQuery();			//执行预处理sql语句			System.out.println("执行增加、修改、删除后的数据");			while(res.next()){				name = res.getString("stuname");				id = res.getString("stuid");				name = new String(name.getBytes("ISO-8859-1"),"gb2312");				System.out.println(id + "/t" + name);			}			res.close();			psql.close();
该代码段使用到了预处理语句:
con.prepareStatement(String sql);

这样生成数据库底层的内部命令,并将该命令封装在preparedStatement对象中,可以减轻数据库负担,提高访问数据库速度。

运行结果:

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn