发表于: 2017-03-15 19:36:19
1 1353
今天完成的事情:
重补了一下jdbc的内容
明天计划的事情:
学习spring事务管理的内容
遇到的问题:
classnotfound exception,原因是忘记添加mysql-connector-java的jar包到项目中。
收获:
jdbc访问数据库步骤:
场景1:数据库中数据过多,筛选条件弱,导致数据读取超过jvm的内存限制,因此需要分批次读取,因而用到游标url中加入?useCusrsorFetch=true;
场景2:某个字段很大,需要使用流方式读取。 rs.getBinaryStream("");
场景3:大量数据插入(一个个发送效率太低)使用批处理Statement.addBatch() executeBatch() clearBatch();
场景4:jdbc字符集与数据库字符集不统一,出现中文乱码。 DB_URL+characterEncoding=utf8.
连接池(创建,管理,消耗,限流)
:1.connection建立耗时,避免重复建立
2.服务器处理能力有限,需要限制并发连接数。
SQL注入漏洞:
eg:再输入用户名密码时,输入zhangsan';--
--将后面的密码注释掉,因而可以非法访问数据库。
解决:
运用占位符 select * from user where name=?and password=?
和preparedStatement
事务是并发控制的基本单位,是某个逻辑单元执行的一系列操作。
事务特性:ACID(原子性、一致性、隔离性、持久性)
评论