java编程Mysql数据库安装以及增删改查测试

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
数据库数据成功获取!!

 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值