发表于: 2018-01-04 23:40:04

2 570


一.刚才尝试着插入了1000万条数据,时间很长,最后算下来表格里每张是1000条,共一千页,这样算下来是100万条数据。就没有继续。如果想删除很多条数据,直接右键清空表格就行了。

二.试运行一个查询程序,没有报错和爆红,但是运行没有输出任何东西。最后庆东师兄把我放在TEST里面的java类,放到src/main/java/jdbc里面,运行输出成功。

package jdbc;
import java.sql.*;

public class TestJDBC {
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try (Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/how2java",
                "root", "1234");
             Statement s = c.createStatement();
             ) {
            String name = "dashen";
            String password = "thisispassword1";
            String sql = "select * from user where name = '" + name +"' and password = '" + password+"'";
            ResultSet rs = s.executeQuery(sql);
            if(rs.next())
                System.out.println("账号密码正确");
            else
                System.out.println("账号密码错误");
            } catch (SQLException e) {
            e.printStackTrace();
        }
        }
    }


三.有时候,一个空格可能会导致你运行不成功。

package jdbc;
import java.sql.*;
public class TestJDBC2 {
    public static void list(int start,int count){
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e){
            e.printStackTrace();
        }
        try (Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/how2java","root","1234");
             Statement s = c.createStatement();) {
            String sql = "select * from hero limit " + start + ", " + count;
            ResultSet rs = s.executeQuery(sql);
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString(2);
                float hp = rs.getFloat("hp");
                int damage = rs.getInt(4);
                System.out.printf("%d\t%s\t%f\t%d%n", id, name, hp, damage);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        }
        public static void main(String[] args) {
        list(10,5);}
        }

蓝色字体select * from hero limit后面应该有个空格。start=10count=5,也就是把select * from hero limit 10,5 放入mysql中运行,结果如图:

 

IDEA中运行,结果如图:一开始怎么都不行,最后加上那个空格才行了。

 

四。今天还把IDEA的破解解决了,方法:破解网址:http://blog.csdn.net/qq_24504453/article/details/77407329

TXT文件添加最后一句话的时候,应该和下载的jar文件版本一致,比如这次都是2.6.10.以前的2.6.2过期了,我估计IDEA公司屏蔽了。剩余的直接按照教程来就行。


五。实验一下PreparedStatement有预编译机制,性能比Statement更快。快慢检测不出来,但感觉PreparedStatement程序编写不容易出错。

package jdbc;

import java.sql.*;

public class TestJDBC4 {
public static void main(String[] args){
try {
Class.forName("com.mysql.jdbc.Driver");
       } catch (ClassNotFoundException e){
e.printStackTrace();
       }
String sql = "insert into hero values(null,?,?,?)";
       try (Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/how2java","root","1234");
            Statement s = c.createStatement();

            PreparedStatement ps = c.prepareStatement(sql);) {

//Statement执行10次,需要10次把SQL语句传输到数据库端
            // 数据库要对每一次来的SQL语句进行编译处理
for (int i = 0; i < 10; i++) {
String sql0 = "insert into hero values(null," + "'冰女'" + ","
                       + 253.0f + "," + 40 + ")";
               s.execute(sql0);
           }
s.close();

  // PreparedStatement 执行10次,只需要1次把SQL语句传输到数据库端

            // 数据库对带?的SQL进行预编译       

for (int i = 0; i < 10; i++) {

ps.setString(1, "冰女");
               ps.setFloat(2, 253.0f);
               ps.setInt(3, 40);
               ps.execute();
           }
} catch (SQLException e) {
e.printStackTrace();
       }
}
}

六:还继续做了小课堂的PPT,原想着今天弄完,结果没弄完。

 

明天的计划:做完小课堂的PPT,试着预演一下小课堂

遇到的问题:基本解决了

今天的收获:重新学习了下JDBC,又有新感觉

java任务一开始时间:2017.12.05

预计demo时间:2018.01-05

可能有延期风险,原因是:基础太差,很多任务的教程都卡壳,进行不下去。

禅道链接地址:http://task.ptteng.com/zentao/project-task-501.html





返回列表 返回列表
评论

    分享到