头歌JDBC

                                            JDBC 

第一关

package jdbc;
import java.sql.*;
public class jdbcConn {
   public static void getConn() {
    /**********    Begin   **********/
    try {
        Class.forName("com.mysql.jdbc.Driver" );
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
    /**********    End   **********/
    Connection conn = null;
    Statement statement = null;
    /**********    Begin   **********/
    String url = "jdbc:mysql://localhost:3306/";
    String user = "root";
    String password = "123123";
    try {
        conn = DriverManager.getConnection (url,user,password );
        statement = conn.createStatement();
        statement.executeUpdate("drop database if exists mysql_db");
        statement.executeUpdate("create database mysql_db");
        statement.executeUpdate("use mysql_db");
        String sql = "create table student(" +
                "id int not null, " +
                "name varchar(20), " +
                "sex varchar(4), " +
                "age int" +
                ")";
        statement.executeUpdate(sql);
    } catch (SQLException e) {
        e.printStackTrace();
    }
    /**********    End   **********/
    finally {
        try {
            if(statement!=null)
                statement.close();
            if(conn!=null)
                conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
}

             

第二关

package jdbc;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class jdbcInsert {
   public static void insert(){
    /**********   Begin   **********/
    try {
        //加载驱动
        Class.forName("com.mysql.jdbc.Driver" );
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
    /**********   End   **********/
    Connection conn = null;
    PreparedStatement statement = null;
    /**********   Begin   **********/
    //连接并插入数据
    try{
        conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mysql_db","root","123123");
        PreparedStatement s = conn.prepareStatement("insert into student values(?,?,?,?)");
        s.setInt(1,1);s.setString(2,"张三");s.setString(3,"男");s.setInt(4,19);
        s.executeUpdate();
        s.setInt(1,2);s.setString(2,"李四");s.setString(3,"女");s.setInt(4,18);
        s.executeUpdate();
        s.setInt(1,3);s.setString(2,"王五");s.setString(3,"男");s.setInt(4,20);
        s.executeUpdate();
        s=conn.prepareStatement("select * from student");
        ResultSet r = s.executeQuery();
        while(r.next()){
            System.out.println(r.getString(1)+" "+r.getString(2)+" "+r.getString(3)+" "+r.getString(4));
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    /**********   End   **********/
    finally {
      try {
            if (statement != null)
                statement.close();
            if (conn != null)
                conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
}

第三关

package jdbc;
import java.sql.*;
public class jdbcTransaction {
    public static void transaction(){
    try {
        Class.forName("com.mysql.jdbc.Driver" );
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
    Connection conn = null;
    PreparedStatement ps = null;
    /**********  Begin   **********/
    //连接数据库并开启事务
    String url = "jdbc:mysql://localhost:3306/mysql_db";
    try {
        conn = DriverManager.getConnection (url,"root","123123" );
        conn.setAutoCommit(false);//关闭自动提交开启事务
        ps = conn.prepareStatement("insert into student(id,name,sex,age) values(4,'赵六','女',21)");
        ps.executeUpdate();
        conn.commit();//提交事务
        ps = conn.prepareStatement("delete from student where id=2");
        ps.executeUpdate();
        ps = conn.prepareStatement("insert in student(id,name,sex,age) values(5,'钱七','男',18)");
        ps.executeUpdate();
        conn.commit();//提交事务
    } catch (SQLException e) {
        try {
            //事务回滚
            conn.rollback();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
    /**********  End   **********/
    finally {
        try {
            if(ps!=null)
                ps.close();
            if (conn != null)
                conn.close();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值