`
wx1569020408
  • 浏览: 26774 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Spring Boot中Mybatis实战经验

 
阅读更多

【分表处理】

mybatis-generator-core.jar自动生成的dao里面只有针对原表的操作,若要处理分表,需特殊处理,以下总结二种方案。
1. 使用Map方式
1)xml中的parameterType="map" statementType="STATEMENT"
2)调用方传入的map中包括分表名,xml中使用${分表名},例如:
map.put("subTable","USER_INFO")
xml中使用 INSERT INTO ${subTable}
3)动态SQL使用:
<if test="_parameter.containsKey('userName')">  
    AND msgType = ${userName})
</if>

2. 使用javaBean方式
1)model层自动生成的javaBean类中需定义分表名属性,例如: subTable,并提供setter,getter方法
2)xml中的parameterType="javaBean类",表名使用${subTable}
3)针对selectByPrimaryKey等入参只有1个Integer或String的简单数据类型,无法通过javaBean传入分表名,此时通过@param绑定变量,例如:
UserInfoMapper.java中
UserInfo selectByPrimaryKey(@Param("subTable") String subTable,@Param("userId") Integer userId);

UserInfoMapper.xml中
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
  <!--
    WARNING - @mbggenerated
    This element is automatically generated by MyBatis Generator, do not modify.
  -->
  select 
  <include refid="Base_Column_List" />
  from ${subTable}
  where USER_ID = #{userId,jdbcType=INTEGER}
</select>


【特殊符号处理】

由于在xml中不能有>或<等符号,需特殊处理:
方法一
使用转义符替换,例如:
<if test="beginTime != null" >
  AND CREATE_TIME &gt;= DATE_FORMAT('${beginTime}','%Y-%m-%d %H:%i:%S')
</if>
附:XML转义字符
&lt;    <    小于号                                           
&gt;    >    大于号
&amp;   &    和
&apos;  ’    单引号
&quot;  "    双引号

方法二
使用<![CDATA[ ]]>,例如:
<if test="beginTime != null" >
  <![CDATA[ AND CREATE_TIME >= DATE_FORMAT('${beginTime}','%Y-%m-%d %H:%i:%S') ]]>
</if>

转载于:https://my.oschina.net/superwind20/blog/1524149

分享到:
评论

相关推荐

    spring boot+mybatis+secrity登陆查询数据库验证

    【标题】"Spring Boot + MyBatis + Security 登陆查询数据库验证"是一个初学者友好的实战项目,旨在演示如何在Spring Boot应用中整合MyBatis作为持久层框架,并利用Spring Security进行用户身份验证。这个项目涵盖了...

    基于spring boot+mybatis的个人博客(前端+后台管理系统).zip

    总的来说,这个项目提供了从后端数据库操作到前端页面展示的完整流程,对于想要学习Spring Boot和MyBatis集成开发的人员来说,是一个很好的实战案例。通过阅读源码,理解其架构设计,开发者可以深入学习如何构建...

    SpringBoot+Mybatis整合完整源码

    - **添加依赖**:首先,在 Maven 项目的 `pom.xml` 文件中,添加 Spring Boot 和 Mybatis 的相关依赖,包括 Spring Boot Starter Web、Spring Boot Starter Data JPA(或者 Mybatis Starter)以及 Mybatis 和其所需...

    基于Spring Boot + mybatis +mysql + layui的会员信息管理系统源码+数据库

    这是一个基于Spring Boot、MyBatis、MySQL和Layui技术栈构建的会员信息管理系统源码项目,涵盖了软件开发中的多个重要知识点。以下是关于这些技术及其在项目中的应用的详细解释: 1. **Spring Boot**: Spring Boot...

    spring boot +mybatis plus整合开发 游戏陪玩项目.zip

    在本项目中,"spring boot + mybatis plus 整合开发 游戏陪玩项目"是一个基于Spring Boot框架和MyBatis Plus扩展的实战应用,旨在构建一个游戏陪玩服务的平台。Spring Boot以其简化Spring应用程序开发的特性,极大地...

    Spring Boot+MyBatis+shiro+Layui+Mysql智能平台管理系统源码

    对于学习者来说,通过分析和理解这个源码,可以深入掌握Spring Boot的实战应用、MyBatis的映射机制、Shiro的安全策略以及Layui的前端布局技巧,同时了解如何将这些技术有效整合到一个实际项目中。

    基于Spring Boot + Mybatis+Vue开发实习生招聘网站源代码+数据库毕业设计

    这是一个基于Spring Boot、Mybatis和Vue.js技术栈的实习生招聘网站源码项目,适用于毕业...对于初学者来说,这是一个很好的实战练习,对于资深开发者,也可以从中获取关于Spring Boot、Mybatis和Vue.js集成的宝贵经验。

    spring cloud+mybatis实战案例demo

    Spring cloud + mybatis 案例; Spring Cloud是基于Spring Boot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群...

    基于 Spring boot + mybatis + vue 的技能在线培训与认证系统源码.zip

    这是一个基于Spring Boot、MyBatis和Vue.js技术栈构建的在线技能培训与认证系统的源码项目,名为"Sotacy"。下面将详细讲解这个系统的关键技术及其应用。 **1. Spring Boot** Spring Boot是由Pivotal团队提供的开源...

    Spring Boot实战派(源码)

    《Spring Boot实战派》源码提供了丰富的学习材料,旨在帮助开发者深入理解并...通过分析《Spring Boot实战派》源码,读者不仅可以了解上述技术点,还能学习到如何在实际项目中应用这些技术,提升开发效率和代码质量。

    Spring MVC与MYBatis企业应用实战.pdf

    《Spring MVC与MYBatis企业应用实战》是一本深度探讨如何在实际企业环境中集成和运用Spring MVC和MYBatis两大主流技术的书籍。Spring MVC作为Spring框架的重要组成部分,是Java Web开发中的强大控制器,而MYBatis则...

    spring-boot-starter-mybatis-spring-boot-1.3.0.zip

    Spring Boot与MyBatis的整合是Java开发中的常见实践,尤其在快速构建微服务应用时,Spring Boot的便捷性和MyBatis的灵活性结合,能有效提升开发效率。这里我们将深入探讨Spring Boot如何与MyBatis集成,以及在1.3.0...

    Spring Boot实战 ,丁雪丰 (译者).zip

    在讲解基础知识后,书中的实战部分会深入到Spring Boot的实际应用,包括如何创建RESTful API、使用Thymeleaf或Freemarker进行视图渲染、集成MyBatis或JPA进行数据库操作。书中还会涵盖Spring Security,它是Spring...

    mybatis+springboot框架整合

    &lt;groupId&gt;org.mybatis.spring.boot &lt;artifactId&gt;mybatis-spring-boot-starter &lt;version&gt;2.2.4 &lt;groupId&gt;mysql &lt;artifactId&gt;mysql-connector-java &lt;scope&gt;runtime ``` 2. **配置数据库连接**:在`...

    spring-boot-starter-mybatis-spring-boot-1.2.2.zip

    本文将重点讲解如何在Spring Boot 1.2.2版本中集成MyBatis,以及这个版本的特点和优势。 一、Spring Boot与MyBatis集成原理 1.1 Spring Boot Starter MyBatis是Spring Boot官方提供的一个启动器,它简化了MyBatis...

    Spring Boot 2.5.0简单学习pdf资料

    使用 Spring Boot 2.5.0 创建项目非常简单,只需要使用 Spring Initializr 工具,然后选择需要的依赖项,例如 Spring Web、Spring Data JPA、MyBatis 等。 依赖项管理 在 Spring Boot 2.5.0 中,依赖项管理是通过 ...

    Spring-MYBatis企业应用实战-有详细目录

    总而言之,《Spring-MYBatis企业应用实战》是一本全面覆盖Spring和MyBatis集成使用的指南,无论你是初学者还是有一定经验的开发者,都能从中获得宝贵的实战经验和理论知识,提升你的Java企业级应用开发能力。

    spring-boot-starter-mybatis-spring-boot-1.3.2.zip

    - **添加依赖**:在`pom.xml`文件中,我们需要引入Spring Boot的MyBatis Starter依赖,例如: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-data-jpa &lt;groupId&gt;org....

    Spring Boot+Spring Security+MyBatis+Vue+Mysql前后端分离WMS管理系统源码

    《基于Spring Boot、Spring Security、MyBatis、Vue.js与MySQL的WMS管理系统源码解析》 在现代软件开发中,前后端分离已经成为一种主流架构模式,它能有效提高开发效率,增强系统的可维护性和扩展性。本项目...

    spring-boot-mybatis多数据源读写分离实例

    7. **实战应用**:在`spring-boot-mybatis-mysql-write-read-master`这个项目中,你将找到实现上述功能的代码示例,包括数据源配置、MyBatis的Mapper配置、Service层的读写操作逻辑等。通过学习和理解这些代码,你...

Global site tag (gtag.js) - Google Analytics