设为首页 加入收藏

TOP

你还在用传统的 JDBC 持久化访问吗(三)
2017-12-18 12:37:05 】 浏览:524
Tags:在用 传统 JDBC 持久化 访问
ing updateUser(final User user) { return new SQL(){ { UPDATE(USERTABLE); if (user.getUsername()!=null) { SET(" username = #{username} "); } if (user.getLoginname()!=null) { SET(" loginname = #{loginname} "); } if (user.getPassword()!=null) { SET(" password = #{password} "); } if (user.getStatus()!=null) { SET(" status = #{status} "); } if (user.getCreateDate()!=null) { SET(" create_date = #{createDate} "); } WHERE(" id = #{id} "); } }.toString(); } }

正如前面编写接口类的时候所说,既然用了@SelectProvider注解,必然会使用到一个class和它的方法。我们在接口类里面用了四次@SelectProvider注解,那么与之对应的就应该有四个方法,分别是分页动态查询(selectWhitParam)、动态查询总数量(count)、动态插入(inserUser)、动态更新(updateUser)。

这个类是专门为接口提供sql语句服务的,不再需要传统的去实现接口,用注解代替了原本繁琐的事情。

ps:或许有人会疑惑,我们怎么把所写的配置在applicationContext.xml里面呢?会不会很麻烦?现在,我告诉你,一点也不麻烦哦!

配置文件

applicationContext.xml

<!-- mybatis:scan 会扫描com.dao.inter包下面的所有接口当作spring的bean配置,之后可以进行依赖注入 -->
    <mybatis:scan base-package="com.dao.inter"/>
    <!-- 使用PropertyOverrideConfigurer后处理器加载数据源参数 -->
    <context:property-override location="classpath:db.properties" />
    <!-- 配置c3p0数据源 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.CombopooledDataSource "/>
    <!-- 配置sqlSessionFactory。org.mybatis.spring.SqlSessionFactoryBean是mybatis社区开发用于整合Spring的bean -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" p:dataSource-ref="dataSource"/>

db.properties

dataSource.driverClass=com.mysql.jdbc.Driver
dataSource.jdbcUrl=jdbc:mysql://127.0.0.1:3306/hrm_db
dataSource.user=root
dataSource.password=root
dataSource.maxPoolSize=20
dataSource.maxIdleTime=1000
dataSource.minPoolSize=6
dataSource.initialPoolSize=5

原理:mybatis的持久化DAO接口只需要通过SqlSession的getMapper方法获得对应的接口实例,从而达到调用接口方法完成数据库的操作,而在spring容器里,只负责生成和管理DAO的组件。

看完了?那么大家觉得是不是要比传统的JDBC持久化访问要简单些呢?我想,至少也要方便一些吧。

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spring、Spring Boot 和 TestNG .. 下一篇Spring、Spring Boot 和 TestNG ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目