Spring和数据库编程

传统JDBC代码的弊端:

    在传统的JDDBC代码中使用了大量的Try catch 语句,这样做造成了代码泛滥,执行一条很简单的Sql语句都

显得十分的复杂,并且还要执行很多次的数据库资源打开和关闭,为此Spring提供了JdbcTemplate来解决此问题。

  此时可以在Spring的配置文件中,配置一个DataSource(数据源),这里可以使用DBCP数据源,使用该数据源的时

候需要配置的类是:BasicDataSource类,为这个类注入一些必要的数据库信息。

  <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

      <property name="dataSource" ref="dataSource"/>

  </bean>

这样就为JdbcTemplate这个类注册成一个bean,并且注入了dataSource属性,就是刚才定义的dbcp数据源。

这样就可以获取这个定义好的JdbcTemplate的bean了。然后就可以来调用JdbcTemplate对象的query()方法

来进行查询了或者是调用update()方法来进行增删改操作。需要注意的是,使用query()或者queryForObject()

进行查询的时候要对结果集进行处理,一般的做法是,实现RowMapper接口的匿名内部类并覆盖原来的方法 mapRow

创建一个 封装类对象,通过该对象的set方法来将获取到的ResultSet类型的对象各个字段的值封装进去,并返回

该封装类对象。  或者是,使用lambda表达式的方式,即query(sql,(ResultSet rs,int rownum)->{

                                  封装类对象

                                    调用set方法设置从rs对象中获取的值

                                    return 封装类对象     

                                          });

目前流行的方式是MyBatis-Spring组合的形式,因为Spring Ioc可以有效的管理各种Java资源,通过Aop框架,数据

库事务可以委托给Spring管理,消除了一大部分事务代码,配合MyBatis的高灵活,可配置,可优化sql等特性完全

可以构建高性能大型网站。

使用之前需要先导入MyBatis-Spring.jar包,然后在Spring的配置文件中配置dataSource,配置完数据源后,再来

配置SqlSessionFactoryBean,并且为他注入两个属性,一个是dataSource  另一个就是Mybatis的配置文件。

我们然后就可以配置SqlSessionTemplate了,需要注入SqlSessionFactory。

然后可以获取SqlSessionTemplate对象来直接调用增删改查,但是我们希望通过接口的方式来操作数据库,这时可以配置一个

bean就是,MapperScannerConfigurer,来扫描接口所在的包,注入basePackage属性,和SqlSessionFactory

还有注解的类annotationClass,意思是带有这个注解接口可以被扫描成Mapper对象,存放在容器中。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,970评论 6 342
  • 传统 JDBC 回顾 JDBC 我们一定不陌生,刚开始学习的时候,我们写过很多很多重复的模板代码: 现在光是看着就...
    我没有三颗心脏阅读 2,972评论 3 14
  • 主要内容 定义Spring的数据访问支持 配置数据库资源 使用Spring提供的JDBC模板 写在前面:经过上一篇...
    程序熊大阅读 8,810评论 1 31
  • 人的思维是一种很奇妙的东西啊,当我在想开心的事情时候我会变得积极快乐,当我在想一些难过的事情的时候我会变得伤心难过...
    马宁要日更阅读 316评论 3 1