ssm框架中通用mapper的集成

1.集成通用mapper

1). 添加Maven依赖或引入Jar包

a:添加pom下的依赖

<dependency>
    <groupId>com.github.abel533</groupId>
    <artifactId>mapper</artifactId>
    <version>2.3.4</version>
</dependency>

b:jar包导入
如果想引入Jar包,可以从下面的地址下载:
https://oss.sonatype.org/content/repositories/releases/com/github/abel533/mapper/

http://repo1.maven.org/maven2/com/github/abel533/mapper/
由于通用Mapper依赖JPA,所以还需要下载persistence-api-1.0.jar:

http://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0/

2)集成配置

集成通用mapper有多种方法
在mybatis配置文件中配置如下:

<plugins>
  <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor">
    <!--================================================-->
    <!--可配置参数说明(一般无需修改)-->
    <!--================================================-->
    <!--UUID生成策略-->
    <!--配置UUID生成策略需要使用OGNL表达式-->
    <!--默认值32位长度:@java.util.UUID@randomUUID().toString().replace("-", "")-->
    <!--<property name="UUID" value="@java.util.UUID@randomUUID().toString()"/>-->
    <!--主键自增回写方法,默认值MYSQL,详细说明请看文档-->
    <property name="IDENTITY" value="HSQLDB"/>
    <!--序列的获取规则,使用{num}格式化参数,默认值为{0}.nextval,针对Oracle-->
    <!--可选参数一共3个,对应0,1,2,分别为SequenceName,ColumnName,PropertyName-->
    <property name="seqFormat" value="{0}.nextval"/>
    <!--主键自增回写方法执行顺序,默认AFTER,可选值为(BEFORE|AFTER)-->
    <!--<property name="ORDER" value="AFTER"/>-->
    <!--通用Mapper接口,多个通用接口用逗号隔开-->
    <property name="mappers" value="com.github.abel533.mapper.Mapper"/>
  </plugin>
</plugins>

spring配置文件中配置如下:

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource"/>
  <property name="mapperLocations" >
    <array>
      <value>classpath:mapper/*.xml</value>
      <value>classpath:com/isea533/mybatis/mapper/*.xml</value>
    </array>
  </property>
  <property name="typeAliasesPackage" value="com.isea533.mybatis.model"/>
  <property name="plugins">
    <array>
      <bean class="com.github.abel533.mapperhelper.MapperInterceptor">
        <property name="properties">
          <!-- 属性一行一个,具体属性参考mybatis配置文件中的属性 -->
          <value>
           参数名1=值1
            参数名2=值2

            mappers=com.github.abel533.mapper.Mapper
          </value>
        </property>
      </bean>
    </array>
  </property>
</bean>
IDENTITY参数配置(仅对 insert 有用)

对于不同的数据库,需要配置不同的参数,这些参数如下:

  • DB2: VALUES IDENTITY_VAL_LOCAL()
  • MYSQL: SELECT LAST_INSERT_ID()
  • SQLSERVER: SELECT SCOPE_IDENTITY()
  • CLOUDSCAPE: VALUES IDENTITY_VAL_LOCAL()
  • DERBY: VALUES IDENTITY_VAL_LOCAL()
  • HSQLDB: CALL IDENTITY()
  • SYBASE: SELECT @@IDENTITY
  • DB2_MF: SELECT IDENTITY_VAL_LOCAL() FROM SYSIBM.SYSDUMMY1
  • INFORMIX: select dbinfo(‘sqlca.sqlerrd1’) from systables where tabid=1
  • JDBC:这会令 MyBatis 使用 JDBC 的 getGeneratedKeys 方法来取出由数据库内部生成的主键(比如:像 MySQL 和 SQL Server 这样的关系数据库管理系统的自动递增字段)。
    JAVA编码方式使用:
    // 主键自增回写方法,默认值MYSQL
    mapperHelper.setIDENTITY(“HSQLDB”);
    Spring中可以属性注入:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值