发表于: 2017-07-18 19:41:53
2 1259
今日完成:
22条数据有索引插入 时间36.41秒
无索引 15.26 无索引插入数据更快
实现java项目完成JDBC连接MySQL
导入MySQL驱动
输出结果
代码:
package com.jinhege.web.testMavenWeb;
import java.sql.*;
public class test {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/test"
+ "?severTimeZone=UTC&characterEncoding=utf-8&&useSSL=false";
static final String USER = "root";
static final String PASS = "jinhege";
public static void main(String[] args) throws SQLException {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("连接数据库...");
} catch (ClassNotFoundException e) {
System.out.println("No jdbc driver ");
e.printStackTrace();
}
try {
conn = DriverManager.getConnection(DB_URL, USER, PASS);
} catch (SQLException e) {
System.out.println("DataBase connect failure!");
e.printStackTrace();
}
Statement stmt = null;
String sql = "select *from user ";
ResultSet resul = null;
try {
stmt = conn.createStatement();
resul = stmt.executeQuery(sql);
} catch (SQLException e) {
System.out.println("Statement create failure!");
e.printStackTrace();
}
System.out.println("查询的结果如下:");
while (resul.next()) {
System.out.println("user_id:" + resul.getString("user_id") + ",user_name:" + resul.getString("user_name")
+ ",user_sex:" + resul.getString("user_sex"));
}
/*sql = "insert into user(user_id,user_name,user_sex) "
+ "values('1','金禾哥','男')";
int i = 0;
try {
stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
if (i == -1) {
System.out.println("插入失败");
} else {
System.out.println("插入成功");
}
} catch (SQLException e) {
e.printStackTrace();
}*/
}
}
明天计划:
对1-17任务理解不好,遇到了很多困难,但在查看日报和百度后解决了大部分问题,明天要理解DAO,争取完成任务17
深度思考
5,为什么DB的设计中要使用Long来替换掉Date类型?
使用long类型方便网络数据的传输,date类型可直观观察到日期数据,而long类型方便计算,java读取后容易换算成所需的内容,date类型只在MySql中有意义,在java中并没有这种格式
6.自增ID有什么坏处?什么样的场景下不使用自增ID?
坏处,a,当删除一条数据后,数据就不存在连续性
b,数据重复了自增不会处理和提示
c 在面对对象时,不能保证完整性(不懂)
d 分库的时候ID就不唯一了
场景:a,自增ID的作用是惟一地标识表中的某一条记录,如果能有其他能唯一标识该行数据的列,就不用设置自增ID
b,在做分布式数据库的时候,要求同步自增ID会出现严重问题
7.什么是DB的索引,多大的数据量下建索引会有性能的差别,什么样的情况下该对字段建索引?
存储表中一个特定列的值数据结构就是索引,10W,如果表中某列在查询过程中使用的非常频繁,就在该列上创建索引
遇到的问题:
问题:使用DELIMITER $$
BEGIN
DECLARE count int ;
set count=0;
while count<100000 do
insert into a1(id,desire)
values('1','ONE MORE TIME');
set count=count+1;
end while;
end;
$$
但出现了如下错误,试了几次还是没能解决,就手动输入了22条看索引对插入数据的影响,希望师兄和各位路过的看官能指导一下
收获:
a, 创建表时date,tinyint 后面不需要跟(0),
b,解决了一个很粗心的错误,
然后报错 ,试了很多遍都不行最后才发现desire varchar(20) not null后面不应该加",",这两天遇到的很多错误都是不够细心,过于急躁造成的,往后一定要更加仔细地学习理论知识然后实践
评论