1.数据库连接,使用时就创建,不使用就立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,内存溢出影响数据库性能。
解决:使用数据库连接池(前几期博文提到)
2.将sql语句硬编码到java代码中,如果sql语句修改,需要重新编译java代码,不利于系统维护。
解决:mybatis中将sql语句配置在xml文件中,不需要对java代码进行重新编译。
3.向preparestatement中设置参数是,对占位符?位置和设置参数值
pstmt.setString(1, courseName); //利用Preparedstatement的set方法给占位符赋值
pstmt.setInt(2, courseId);
硬编码在java代码中
解决:mybatis中将sql语句及占位符和参数配置在xml文件中,不需要对java代码进行重新编译。
4.从resultset中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,
解决:将查询的结果集自动映射成java对象
硬编码就是修改不灵活,可能修改后,还需要重新编译。像sql和占位符、参数值,一旦需求改了,针对固定字段查询时,需要修改很多,还要重新编译,造成极大不便。