分类: 框架 > mybatis

Mybatis中sqlSessionFactory mapperLocations属性配置

发表于6年前(May 12, 2017 8:06:33 PM)  阅读 7592  评论 0

分类: Java mybatis

标签: mybatis sqlSessionFactory mapperLocations classpath

用过mybatis的人都知道sqlSessionFactory中mapperLocations是用来配置mapper xml文件目录的,通常我们会这么配置classpath*:/com/cangzhitao/**/*Mapper.xml,这表示从classpath com/cangzhitao目录及其子目录下所有以Mapper.xml结尾的文件。cangzhitao后面的**就是表示任意多级目录,而classpath后面的*是什么意思呢?

笔者网上查找资料,发现很多文章都说classpath后面的*表示启用通配符,笔者实际测试,并非如此。笔者开始并没有加*,后面的通配符依然能起作用,并不像网上说的报错,不过也可能是因为版本不同的原因造成的,这里笔者的mybatis版本是3.4.4。笔者的项目是分了多个工程,mapper.xml文件分布在几个工程中,笔者在没有加*的时候,测试发现mybatis只能找到一个工程中的mapper.xml文件,而加上*,所有工程下面的mapper.xml文件就都能找到了,所以如果你也存在笔者这种情况,那么请你在classpath后面加

......

指定参数名称,参数值查询数据的通用方法

发表于7年前(Apr 25, 2016 9:43:58 AM)  阅读 2631  评论 0

分类: 框架 mybatis

标签: 动态sql findByParams

接上篇文章,继续完善BaseMapper。

1、BaseMapper.xml:

增加findByParams SQL

<select id="findByParams" parameterType="Map" resultType="Entity">
        SELECT * FROM ${__tableName__} t WHERE 1=1
        <foreach collection="params" index="index" item="item" open=" and " separator=" and " close="">
            ${item.name}=${item.value}
        &
......

搭建基于mybatis的后台框架

发表于7年前(Apr 18, 2016 11:51:17 AM)  阅读 3805  评论 0

分类: Java 框架 mybatis

标签: mybatis mapper Interceptor 框架搭建

1、前言

最近新搭建一个框架,以前用过mybatis,这次第一次自己搭建基于mybatis的框架,架构基本上沿袭以前hibernate的套路,说到这,笔者对两者的观念基本还是停留在hibernate自动生成SQL,mybatis需要自己写SQL,mybatis自己写SQL开发起来麻烦,但SQL语句写起来灵活,容易实现功能,性能也更容易优化,而hibernate其实大部分情况下性能也够用,优化起来确实需要一定功底,在hibernate有时不容易实现的功能,笔者实际上会结合jdbcTemplate一起使用,所以一直使用hibernate也没发现什么问题。这次选用mybatis,其实主要是一次尝试。

2、概述

所有的实体都必须实现Entity接口;
所有的Mapper都必须继承BaseMapper,BaseMapper是一个泛型类,有两个泛型参数,一个是该Mapper操作的实体类型,另一个是序列化id类型,BaseMapper里面定义了通用的Mapper接口;
所有的DAO接口都继承于IBaseDA

......