JDBC的实现与框架的出现

开始的时候使用的是原始的JDBC操作,后来发展成hibernate,到现在的mybatis

 

1-原始的JDBC过程如下所示:

加载驱动:Class.forName("com.mysql.jdbc.Driver");

建立连接:DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8", user, password);

编写SQL:String sql="select * from user  ";

编译:stmt = conn.createStatement();

执行SQL,封装结果。

这种方式实现的功能比较简单,因为SQL实在Java代码里面实现的,耦合度较高,不容易进行维护,比如,一个完成的SQL,在发布后进行优化SQL,这个时候需要重新找到SQL修改,然后编译,部署,发布等,比较麻烦,而且不知道有多少个地方用到这个优化的SQL,所以不好维护;并且在开发后修改SQL进行是很常见的,这个时候缺点就很明显。

 

Hibernate的出现,解决了以上的问题,把JDBC与数据库交互并获取数据进行封装,这些过程都有框架进行操作,而不是由程序员进行编写代码

hibernate是持久化框架,并且是全自动化的全映射文件,不需要自己写文件,把Javabean文件映射到对应的数据表中的数据。

优点是:hibernate框架把原始的JDBC一系列操作进行了封装,不需要自己编写SQL语句

缺点也很明显:由于把JDBC全部封装,不需要自己编写SQL,所以不容易对SQL进行优化,而且由于是全映射的,所以hibernate是查询出所有字段的数据,不容易只查询有一个,对SQL进行优化需要学习HQL来解决以上的问题

 

继hibernate后出现了mybatis框架:

这个框架相较于hibernate而言,最大的好处就是可以自己编写SQL语句,而其他的部分进行封装,把SQL的编写交给开发人员,可以使SQL的编写更有灵活性,并且更容易学些。

由于SQL的编写有开发人员开发,其他的有mybatis框架来执行。所以mybatis是一个半自动化的持久层框架。

 

Java代码和SQL相分离,功能更清晰,一个专注业务实现,一个专注数据

mybatis的下载路径:

mybatis的开发一般步骤如下所示:

1.导入jar包和MySQL的驱动包

2.创建工程后编写mybatis的配置文件

3.编写JavaBean文件和对应的映射文件

4.把编写的与JavaBean对应的映射文件加入到mybatis的配置文件中

5.编写测试文件,进行数据测试

主要的过程:

通过配置文件获取SqlLSessionFactory,然后从SqlSessionFactory中获取SqlSession,SqlSession就可以操作SQL进行增删改查并返回数据

 

posted on 2018-03-09 22:39  没有太晚的开始  阅读(108)  评论(0编辑  收藏  举报

导航