java编程Mysql数据库的安装以及增删改查测试
1.首先下载Mysql的安装包以及驱动程序(注意版本系统位数)
安装好驱动就可以开始了
这里在eclipse开发,首先导入驱动程序jar。
新建了一个数据库,可以先在dos下操作,创建一个表,插入一条数据,
连接数据库(mysql -u用户名 -p密码)mysql -uroot -padmin
程序:
package com.lipengfei.mysqltest; import java.sql.Connection; import java.util.Date; import com.mysql.jdbc.Statement; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.Calendar; public class JDBCMySQL { public static final String DBDRIVER="org.gjt.mm.mysql.Driver"; public static final String DBURL="jdbc:mysql://localhost:3306/student"; public static final String DBUSER="root"; public static final String DBPASS="admin"; public static void main(String[] args)throws Exception{ Connection connection=null; PreparedStatement premt=null; //加载驱动程序 Class.forName(DBDRIVER); //1.getConnection()方法,连接MySQL数据库!! connection = DriverManager.getConnection(DBURL,DBUSER,DBPASS); if(!connection.isClosed()) System.out.println("Succeeded connecting to the Database!"); //2.创建statement类对象,用来执行SQL语句!! java.sql.Statement statement = connection.createStatement(); //要执行的SQL语句 String sql = "select * from person"; String sql2="INSERT INTO person(name,age,birthday,salary)VALUES(\"xx\",22,null,22)"; //3.ResultSet类,用来存放获取的结果集!! //statement.executeUpdate(sql2); ResultSet rs = statement.executeQuery(sql); String name = null; int id = 0; java.sql.Date sqldate=null; while(rs.next()){ //获取stuname这列数据 name = rs.getString("name"); //获取stuid这列数据 id = rs.getInt("age"); sqldate=rs.getDate("birthday"); //首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。 //然后使用GB2312字符集解码指定的字节数组。 name = new String(name.getBytes("ISO-8859-1"),"gb2312"); //输出结果 System.out.println(id + "\t" + name+"\t"+sqldate); } PreparedStatement psql; ResultSet res; //预处理添加数据,其中有两个参数--“?” psql = connection.prepareStatement("insert into person(name,age,birthday,salary)values(?,?,?,?)"); psql.setString(1, "dd"); //设置参数1,name 为小明 psql.setInt(2, 8); //设置参数2,创建id为5的数据 psql.setDate(3, sqldate); psql.setFloat(4, 4444.3f); psql.executeUpdate(); //执行更新 //预处理更新(修改)数据 psql = connection.prepareStatement("update person set name = ? where age = ?"); psql.setString(1,"xiaowang"); //设置参数1,将name改为王五 psql.setInt(2,10); //设置参数2,将id为2的数据做修改 psql.executeUpdate(); //预处理删除数据 psql = connection.prepareStatement("delete from person where name = ?"); psql.setString(1, "??"); psql.executeUpdate(); //查询修改数据后student表中的数据 psql = connection.prepareStatement("select*from person"); res = psql.executeQuery(); //执行预处理sql语句 System.out.println("执行增加、修改、删除后的数据"); while(res.next()){ name = res.getString("name"); id = res.getInt("age"); name = new String(name.getBytes("ISO-8859-1"),"gb2312"); System.out.println(id + "\t" + name); } res.close(); psql.close(); rs.close(); connection.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("数据库数据成功获取!!"); } // PreparedStatement psql; // ResultSet res; // //预处理添加数据,其中有两个参数--“?” // psql = connection.prepareStatement("insert into person values(?,?)"); // psql.setInt(1, 8); //设置参数1,创建id为5的数据 // psql.setString(2, "xiaogang"); //设置参数2,name 为小明 // psql.executeUpdate(); } }控制台输出以及dos输出:
Succeeded connecting to the Database! ----------------- 执行结果如下所示: ----------------- 学号 姓名 ----------------- 20 aa 1992-12-21 8 xiaogang 1992-12-21 8 xiaogang 1992-12-21 8 xiaogang 1992-12-21 8 xiaogang 1992-12-21 8 xiaogang 1992-12-21 8 ?? 1992-12-21 8 ?? 1992-12-21 8 ?? 1992-12-21 8 ?? 1992-12-21 8 dd 1992-12-21 8 dd 1992-12-21 8 dd 1992-12-21 执行增加、修改、删除后的数据 20 aa 8 xiaogang 8 xiaogang 8 xiaogang 8 xiaogang 8 xiaogang 8 dd 8 dd 8 dd 8 dd 数据库数据成功获取!!
