java基本知识的第七天

 1.SQL 关系型数据库

2.Nosql非关系型数据库

sql的具体之后跟着廖雪峰的继续学习。

1.JDBC  说的是连接数据库的方法。

2.这里教的是:用java的代码如何去访问数据库

3.就是接口的实现,然后调用接口去访问数据库

 

 这里说的是:连接数据库,首先要用url

这里讲的是一个查询结果的组成过程,sql语句查询,然后的话executequery

这里说的是为什么不去使用statement而是使用preparestatement  因为statement用来拼接字符串了,那么的话拼接字符串是有问题的 因为别人可能用转义什么的

这里说的是数据库里面的数据类型和java里面数据类型的对应

preparestatement是用?占位的

 

 数据库说来说去就是增删改查

 这里说的是:插入操作的话,那么如果是自增主键的表的话,那么需要返回这个主键的值

这个意思就是说:自增主键的意思:插入一次,主键就自动增加一次。为了防止没自动增加,相当于并行的插入表,为了防止没有两次增加,那么需要返回这个主键的值

 

 1.这里说的是数据库设计需要的一些原理  acid  就是原子性、一致性、隔离性、持久性

2.这里说的是:如果说某条sql成功了,但是其他的sql没成功的话,那么就是非一致性

3.这里说的是 把自动提交的东西关闭了,然后的话进行多个sql语句同时运行,那么作为一个事务

4.如果事务失败了,那么就回滚。

5.事务说的是:多条语句同时执行,必须保证这些语句的一致性

这里说的就是语句和语句之间如何保持一致性,使用事务

 这里大概讲了一些概念,就是说:如果说多条数据,是:

参数只有些不同,但是执行的都是同一个操作,那么可以用batch操作

就是先addBatch然后再去executeBatch

这就是说批操作的原因和意义。

这里说的是连接池,

连接池的意思是什么:

如果说频繁地连接数据库,频繁地断开和数据库的连接的话,那么是非常耗费时间和资源的

所以说,这里引入了连接池的概念。连接池可以创建一个大的连接

像任何操作都是要连接 才能操作的,连接池可以不连接了,让这些连接都已经执行在池中了。

上面是关于数据库的一些acid之类的操作,下面讲一下函数之类的

这里说的是:之前说这个list里面是否contain某个对象

这个对象要去覆写这个equals方法,方便判断是不是等于另外一个对象

对于这个sorted的东西,就需要去覆写这个:comparable这个相应的接口 这些我都大概是有印象的。

这里说的是:如果说单方法接口的覆写,那么是有更方便的方法

这里的话是说:  参数, 箭头 ,函数体  这三个是关键点来的

对于如果只有一条语句,那么函数体只需要写一句就行了。

 

但是这个单方法接口,不去写这个@FunctionalInterface其实也是可以的

1.这里想说的是:排序之类的  一般是就地排序

而如果返回了新类型的东西的话,那么一般是返回一个值的,而不是就地的排序

这个是教会自己 ,大概从常识上去判断到底是就地的操作还是返回值的操作

这里学会以下join  join的意思大概就是把数组类型变成String类型

 这里的话,说的是:

1.list确实是可以通过Person类型进行实例化的

2.但是这里教会了我两种往里面添加东西的方法

3.map的话,之前就说过是映射,那么使用什么样的函数进行映射,这里也教了我

4.这里教会了我什么呢,自定义的类型,如果说添加东西,或者某个函数是什么操作不会的话,那么可以用这个lambda方法来进行构造函数

5.  这里的话,是说:如何通过自己指定的函数来进行操作

像上面的话,就是通过自己指定的sort函数,那么还教了自己指定的某个类的函数。

6.还教了这个容器里面如何去添加函数

现在自己写了之后就发现,这里说的是:map本来就是来 映射的函数

那么怎么调用自己写的映射的函数呢?

那么就是用这个map 然后里面放好相应的map的函数

这里还讲到了序列化的东西?虽然说序列化好像是json到这个对象

但是的话怎么写这个相应的  转换到string的函数 就是去覆写这个toString就行了 

如果覆写了toString的话,那么就是可以把这个相应的对象实例给打印出来的

这里说的是map里面去调用相应的函数,collect里面去调用相应的函数

 1.Stream这个API的作用,是可以存储无限的序列,这是List做不到的

2.然后的话还有一件事情是 Stream是惰性的存储 它不是真正地存在内存里面,它是惰性的存储

3.它存储的一些map函数是只存储了转换规则,而不是真正地去计算了这个转换的发生。

现在就觉得的话,就是无限的东西,那么就去用stream这个api来实现它

1.这是是教你怎么去创建stream

2.对于相应的容器,什么list之类的如何去转换为stream ,那么就是创建了之后用.stream这个东西去转换

一般来说,非无限序列去创建stream是不太合适的吧 用list不香吗?

 这里还是在教怎么去创建无限的序列,然后的话教了一下怎么去把文件读入,就是把文件弄成是每行的stream 

然后讲了这个stream的构造函数是传入这个supplier

 

这里的话,大概是教了  如何把容器里面的对象进行一个转换,进行过滤的一个操作。

 

 这里教的是 一个容器如何去做聚合操作,聚合是说对于所有容器按照同样的规则去进行操作,然后最后得到1个结果 这就叫聚合。

这里是教你怎么去写函数体,就是说那个单方法的接口如何去简化操作。

 

 这里说的是:

如何去把list进行过滤的操作,自己知道是这个stream可以做到的事情。然后的话如何再输出回这个list呢,就是用这个collect

那么现在自己知道,这个stream  第一个是在无限的序列的时候可以用到哦

第二个就是说 过滤 filter的时候 或者说reduce map  这几个,都可以进行 映射的操作,或者说是:过滤的操作

自己知道了用这个stream的时机了

 

这里的话还介绍了stream的去重操作,

这里说到了stream的一些操作

stream的并行操作,连接操作,截取操作都学了

下面这个设计原则,其实那个软件设计艺术也教了

猜你喜欢

转载自www.cnblogs.com/startFrom0/p/12551638.html