3.PreparedStatement可以防止sql注入;
4.使用PreparedStatement可以插入BLob流文件数据,而Statement无法插入Blob数据
5.使用Statement数据需要进行拼串,操作繁琐,还存在sql注入
二.批量插入数据到数据的逐步优化
================
一.使用Statement
二.使用PreparedStatement插入
//批量插入方式二:使用PreparedStatement插入
public void testInsertInfo() throws Exception {
Connection conn = null;
PreparedStatement pst = null;
String sql = "insert into user_tab(id,name) values(?,?)";
try {
long start = System.currentTimeMillis();
conn = JDBCUtils.getConnection();
pst = conn.prepareStatement(sql);
for (int i = 1; i <20000 ; i++) {
pst.setObject(1,i);
pst.setObject(2,"name");
pst.execute();
}
long end = System.currentTimeMillis();
System.out.println("采用preparedStatement方式插入20000条数据花费的时间为:"+(end - start));
}catch (Exception e){
e.printStackTrace();
}finally {
JDBCUtils.closeResource(conn,pst);
}
}
三.使用batch缓存插入
//批量插入方式三:使用批处理插入
/*
1.使用 添加batch :addBatch() 执行batch:executeBatch() 清空Batch(): clearBatch();
2.在连接数据的url后面配置这句话:
?rewriteBatchedStatements=true
3.批量插入数据使用的jdbc.jar必须实在5.7版本以上才支持
*/
@Test
public void testInsertInfo2() {
Connection conn = null;
PreparedStatement pst = null;
String sql = "insert into user_tab(id,name) values(?,?)";
try{
long start = System.currentTimeMillis();
conn = JDBCUtils.getConnection();
pst = conn.prepareStatement(sql);
for (int i = 1; i <=20000 ; i++) {
pst.setObject(1,i);
pst.setObject(2,"name"+i);
//1,添加batch
pst.addBatch();
//2.执行batch()
if (i % 500 == 0){
pst.executeBatch();
//清空batch
pst.clearBatch();
}
}
long end = System.currentTimeMillis();
System.out.println("采用batch插入20000条数据花费时间为:"+ (end - start));
}catch (Exception e){
e.printStackTrace();
}finally {
}
}
四.改变提交的时机控制提交次数提高效率
public void testInsertInfo3(){
Connection conn = null;
PreparedStatement pst = null;
String sql = "insert into user_tab(id ,name) values(?,?)";
try {
long start = System.currentTimeMillis();
conn = JDBCUtils.getConnection();
conn.setAutoCommit(false);
pst = conn.prepareStatement(sql);
for (int i = 1; i <= 200000; i++) {
pst.setObject(1,i);
pst.setObject(2,"name"+i);
//添加缓存
pst.addBatch();
if(i % 500 == 0){
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimg-community.csdnimg.cn%2Fimages%2Fa92dbbe283504228b5cb01ebe38fa53b.jpeg&pos_id=img-9iAhJQYl-1712959032773)
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimg-community.csdnimg.cn%2Fimages%2Fe6b279a5bb3045fab2ad5d20a9f37836.png&pos_id=img-2PU8HntL-1712959032774)
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimg-community.csdnimg.cn%2Fimages%2F1d3b9892604f421caf8c68d5b119559a.png&pos_id=img-J4sjqnnT-1712959032774)
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimg-community.csdnimg.cn%2Fimages%2F65ae6aa7f2f74a489af3658e8c6a8bcb.png&pos_id=img-yRO49ije-1712959032774)
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimg-community.csdnimg.cn%2Fimages%2F8724f05fd5f949a4941e23bfae470aae.png&pos_id=img-DmgJESXt-1712959032775)
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimg-community.csdnimg.cn%2Fimages%2Fb44d960d4a7941c7a5b3975458ebb318.png&pos_id=img-tG9r20mf-1712959032775)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)**
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimg-community.csdnimg.cn%2Fimages%2Fea6c74037d664eb1b28b0b44ba269e0e.jpg&pos_id=img-Yiw4l0ZJ-1712959032775)
# 最后我们该如何学习?
**1、看视频进行系统学习**
这几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。
另外,我自己也珍藏了好几套视频资料躺在网盘里,有需要的我也可以分享给你:
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F24616006-025e2092e2a0ae83%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240&pos_id=img-U2Ki2zlo-1712959032776)
**2、读源码,看实战笔记,学习大神思路**
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
Spring源码深度解析:
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F24616006-9b34b45353e3c0fc%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240&pos_id=img-unVRRsQF-1712959032776)
Mybatis 3源码深度解析:
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F24616006-4fa0bca8db6b0ddb%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240&pos_id=img-ggfoovtR-1712959032776)
Redis学习笔记:
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F24616006-947683266eba22fc%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240&pos_id=img-cMbgO4lC-1712959032777)
Spring Boot核心技术-笔记:
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F24616006-00651431bb3920a4%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240&pos_id=img-ug0pSALz-1712959032778)
**3、面试前夕,刷题冲刺**
面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。
关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F24616006-a0fd42830447c97f%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240&pos_id=img-tazs175H-1712959032779)
只有技术过硬,在哪儿都不愁就业,“万般带不去,唯有业随身”学习本来就不是在课堂那几年说了算,而是在人生的旅途中不间断的事情。
人生短暂,别稀里糊涂的活一辈子,不要将就。
**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimg-community.csdnimg.cn%2Fimages%2Fea6c74037d664eb1b28b0b44ba269e0e.jpg&pos_id=img-jsEjOE3E-1712959032779)
三:
[外链图片转存中...(img-tazs175H-1712959032779)]
只有技术过硬,在哪儿都不愁就业,“万般带不去,唯有业随身”学习本来就不是在课堂那几年说了算,而是在人生的旅途中不间断的事情。
人生短暂,别稀里糊涂的活一辈子,不要将就。
**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-jsEjOE3E-1712959032779)]