mybatis学习笔记之学习结构(1)

学习结构:

1.mybatis开发方法

原始dao开发方法(程序需要编写dao接口和dao实现类)

mybatis的mapper接口(相当于dao接口)代理开发方法

mybatis配置文件SqlMapConfig.xml

mybatis核心:

mybatis输入映射

mybatis输出映射

mybatis的动态sql

2.高级知识

高级结果集映射(一对一/一对多/多对多)

mybatis查询缓存(一级缓存/二级缓存)

mybatis和spring进行整合

mybatis逆行工程

1.对原生态jdbc程序中问题总结

使用jdbc查询mysql数据中用户表的记录

数据库的硬连接的问题

1.数据库连接,使用时就创建,不使用就立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能。

设想:使用数据库的连接池来管理数据库连接。

2.将sql语句硬编码到java代码中,如果sql语句修改,需要重新编译java代码,不利于系统维护。

设想:将sql语句配置在xml文件中,即使sql变化,不需要对java代码进行重新编译。

3.向perparedStatement中设置参数,对占位符位置和参数值,硬编码在java代码中,不利于维护。

设想:将sql语句及占位符配置到xml文件中。

4.从resultSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,不利于系统维护。

设想:将查询的结果集,自动映射成java对象。

mybatis学习笔记之学习目录(1)的更多相关文章

  1. #学习笔记#e2e学习使用(二)

    前言: <#学习笔记#e2e学习使用(一)>主要记录了Vue项目的创建到e2e环境的搭建,以及期间遇到的各种问题和解决方法.本文建立在基础测试环境搭建完毕能正确运行的情况下,编写测试代码, ...

  2. #学习笔记#e2e学习使用(一)

    本文仅限于记录本人学习的过程,以及怎么踩的坑,是如何解决的.逻辑肯定是混乱的,有用之处会抽出共通另行发帖. 最终目标:要运用于Vue项目中,进行功能测试甚至自动化测试. 一.e2e概念 理解:end ...

  3. java JDK8 学习笔记——助教学习博客汇总

    java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...

  4. python3.4学习笔记(七) 学习网站博客推荐

    python3.4学习笔记(七) 学习网站博客推荐 深入 Python 3http://sebug.net/paper/books/dive-into-python3/<深入 Python 3& ...

  5. 20155234 2016-2017-2第十周《Java学习笔记》学习总结

    20155234第十周<Java学习笔记>学习总结 教材学习内容总结 网络编程 在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定 ...

  6. 20155234 2610-2017-2第九周《Java学习笔记》学习总结

    20155234第九周<Java学习笔记>学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC(Ja ...

  7. Vue学习笔记-rest_framework_jwt 学习

    一  使用环境 开发系统: windows 后端IDE: PyCharm 前端IDE: VSCode 数据库: msyql,navicat 编程语言: python3.7  (Windows x86- ...

  8. Asp.net MVC4高级编程学习笔记-视图学习第一课20171009

    首先解释下:本文只是对Asp.net MVC4高级编程这本书学习记录的学习笔记,书本内容感觉挺简单的,但学习容易忘记,因此在边看的同时边作下了笔记,可能其它朋友看的话没有情境和逻辑顺序还请谅解! 一. ...

  9. [学习笔记]AJAX学习

    AJAX学习 ——在w3cschool学习AJAX的学习笔记 参考网站:w3cschool XMLHttpRequest 是 AJAX 的基础. XMLHttpRequest 对象 所有现代浏览器均支 ...

随机推荐

  1. String类练习统计一个字符串中大小写字母及数字字符个数

    public class StringPractice { public static void main(String[] args) { //创建一个文本扫描器 Scanner sc = new ...

  2. 团体程序设计天梯赛-练习集-L1-047. 装睡

    L1-047. 装睡 你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次.下面给 ...

  3. idea中git回滚到指定分支

    1.git - > show history,选中回滚的指定版本,右击copy revision number 粘出版本号 2.git -> reset hard 出险新页面之后,选中ha ...

  4. luogu P2852 [USACO06DEC]牛奶模式Milk Patterns 后缀数组 + Height数组 + 二分答案 + 扫描

    后缀数组有一个十分有趣的性质: $height[rk[i]] >= height[rk[i-1]] - 1$    Code: #include <bits/stdc++.h> #d ...

  5. tomcat 热加载设置

    找到tomcat项目的apache-tomcat-8.0.30\conf\context.xml,打开进行编辑,把Context项中加上 reloadable="true" < ...

  6. Linux思维导图之inode、mv、cp和硬软链接

    标准I / O和管道:     ps aux进程管理命令(和win任务管理器一样);     当前命令行输出窗口,键盘的输入即是标准输入.标准输出就是执行了的命令,无法执行的命令或错误信息是标准错误, ...

  7. 20190218-学习python使用shelve遇到raise error, "db type could not be determined"

    照书上敲代码,运行了提示raise error, "db type could not be determined",现场如下: ubuntu-vm:~/code/massageb ...

  8. 07springMVC视图解析器

    u  概述 u  常见视图解析器 u  UrlBasedViewResolver u  InternalResourceViewResolver u  视图解析器链 u  说明 1      概述 在 ...

  9. Windows系统SNMP数据监测与OID

    Windows系统SNMP数据监测与OID http://blog.csdn.net/liuhuango123/article/details/52253953

  10. 怎样又一次编译linux内核

    linux作为自由软件.在广大爱好者的支持下,内核版本号不断更新. 新的内核修订了就得内核的bug,并添加了很多新的特性.假设用户须要使用这些新的特性或者依据自己的系统量身定做一个更高效或更稳定的内核 ...