使用mybatis 连接Oracle 数据库 xml 文件中需要注意的问题

简介: 使用mybatis 连接Oracle 数据库 xml 文件中需要注意的问题

1:首先使用模糊查询的时候

1: 在mysql 中
 select <include refid="Base_Column_List" />
        FROM a_ll_dist_g_reas_record
        <where>
            <if test="null != orgName and '' != orgName">
                org_no like concat('%',#{orgName},'%')
            </if>
            <if test="null != pReasCode and '' != pReasCode">
                and orgName  like concat('%',#{orgName},'%')
            </if>
            <if test="null != reasCode and '' != reasCode">
                and reasCode  like concat('%',#{reasCode },'%')
            </if>
            <if test="null != timeFlag and '' != timeFlag">
                and timeFlag like concat('%',#{timeFlag },'%')
            </if>

2:使用Orcale的时候:   需要 多包一个  concat(concat)

select <include refid="Base_Column_List" />
        FROM a_ll_dist_g_reas_record
        <where>
            <if test="null != orgName and '' != orgName">
                orgName like concat(concat('%',#{orgName}),'%')
            </if>
            <if test="null != pReasCode and '' != pReasCode">
                and pReasCode  like concat(concat('%',#{pReasCode }),'%')
            </if>
            <if test="null != reasCode and '' != reasCode">
                and reasCode like concat(concat('%',#{reasCode }),'%')
            </if>
            <if test="null != timeFlag and '' != timeFlag">
                and timeFlag like concat(concat('%',#{timeFlag }),'%')
            </if>
使用${} 
            <if test="parameter.indexName != null and parameter.indexName != ''">
                and INDEX_NAME like '%${parameter.indexName}%'
            </if>
时间范围: 将字符串类型的时间转换为date 类型
       <![CDATA[]]>  中的--> []  的写什么就是什么
           <![CDATA[
                and LOGIN_TIME >= to_date(#{startLoginTime},'yyyy-MM-dd')
            ]]>
            <![CDATA[
                and LOGIN_TIME <= to_date(#{endLoginTime},'yyyy-MM-dd')
            ]]>

3:使用Oracle 连接mybatis  时, 因为有一些业务场景规定,数据库中有一下字段,在前端为非必填字段  ,所以在插入数据的时候,会少携带一下参数,但是Oracle 数据库在使用mybatis  的时候,不允许插入数据为空,就会抛出报错信息。这时我们需要在sql 语句中添加 类型字段

例子如下:

UPDATE a_ll_dist_g_reas_record
       set
           org_no = #{orgNo,jdbcType=VARCHAR},
           org_name = #{orgName,jdbcType=VARCHAR},
           time_flag = #{timeFlag,jdbcType=VARCHAR},
           rep_flag = #{repFlag,jdbcType=VARCHAR},
           p_reas_code = #{pReasCode,jdbcType=VARCHAR},
           reas_code = #{reasCode,jdbcType=VARCHAR},
           reas_desc = #{reasDesc,jdbcType=VARCHAR},
           rep_code = #{repCode,jdbcType=VARCHAR},
           oper_name = #{operName,jdbcType=VARCHAR}
        WHERE id = #{id}

4:在判断时间类型的时候 需要注意不要把时间字段判断  空字符串

           关于时间范围的搜索条件
           <if test="startTime != null">
                and create_time &gt;= #{startTime}
            </if>
            <if test="endTime != null">
                and create_time &lt;= #{endTime}
            </if>
           不要判断是否为空字符串
                <if test="null != createTime">
                    create_time,
                </if>


目录
相关文章
|
4月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
429 93
|
3月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
248 0
|
6月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
4月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
180 13
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
1250 11
|
4月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
360 8
|
6月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
316 11
|
6月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
6月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
516 0

热门文章

最新文章

推荐镜像

更多