发表于: 2017-09-28 23:04:40
1 679
今天完成的事情
一,复习,整理了JDCBTemplate ,mybatis以及spring+mybatis方式连接数据库的知识。
1.纯JDBC的方式下,mysql驱动初始化,与数据库建立连接,编写sql语句,执行sql语句,等操作都是写在代码中的,还要为此编写捕获异常的try,catch语句,代码很繁琐。
2.JDBCTemplate方式下,将数据库连接的信息写在了其配置文件中,在接口实现类中编写sql语句,还需要编写接口,实体类,以及获取对象的映射类。
3.mybatis方式下,在主配置文件中写入数据库的连接信息,另一个配置文件中写入sql语句,再编写一个实体类即可,这种方式使得sql语句与编译所需的代码实现了分离,需要修改sql语句时,只需要在配置文件中修改即可。
4.spring+mybatis,和mybatis比较相似,在主配置文件中写入连接数据库的信息以及扫描其他配置文件的信息,在另一个配置文件之中写入sql语句,需要写个实体类,以及接口,接口并不需要写接口实现类,因为mybatis中的会话工厂sqlsession可以自动进行实现。感觉这就是JDBCTemplate需要分离interface和implement而mybatis不用implement的原因。
感觉采用spring+mybatis的方式,可以发挥mybatis的分离sql语句的优点,并且可以将对象的管理交给spring来进行。
二,在照着网上的例子写代码的时候,总感觉为了实现一条sql语句,需要编写大量的代码,还不如直接在cmd控制台直接输入sql语句,或者是在navicat中对数据库进行操作。
这是JDBC中执行一条sql语句所需要的代码:
在mybatis中虽然实现了sql语句的分离,但为此要写好几个文件,其执行操作的语句如下:
这样的操作,在cmd中只需要一行代码就行了。
所以,在网上查了一下,有一种说法比较好理解:
由人直接输入sql语句来对数据库进行操作,就像是未现代化的小店/作坊的账本的使用场景:
店掌柜把账本交给一个可靠的人(帐房先生),帐房先生根据不同人汇总上来的账目,对账本的数据进行各种更改/查询。
但毕竟人类社会需要发展,特别是现代商务中,每秒钟产生的数据变更 都不是人类的体力和脑力能够承担的。 另外,对于大部分系统来说,数据实际上产生于普通用户的实际运用中,但系统维护方出于无论什么理由,都不可能把数据库端的任何权限开放给普通用户。
JDBC的缺点则在于,对于应用程序开发者而言,除了记住一堆API接口以外,还得学习一堆SQL语言,导致编程时不够直观。
也就是说,采用JDBC以及各种基于JDBC的方式来操作数据库,相对于直接操作,其优势是能处理大量数据,没有人的脑力体力限制,其次是具有权限限制。至于觉得代码量大,效率低下,则应该是因为当前学习阶段的操作还体现不出这种方式的优势吧。就像刚发明时的汽车,跑得比马车还慢,但是随时间的发展,终将体现出新技术的优势。
明天的计划
尝试步骤20-22
遇到的问题
如上
收获
大概了解了各种连接数据库方式具体操作。
评论