使用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>


目录
相关文章
|
1月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
58 1
|
11天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
63 8
|
29天前
|
XML 存储 数据库
XML在数据库中有哪些应用?
【10月更文挑战第17天】XML在数据库中有哪些应用?
29 2
|
1月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
25 3
|
1月前
|
SQL Oracle 关系型数据库
Python连接Oracle
Python连接Oracle
19 0
|
1月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
90 0
|
1月前
|
XML 存储 Web App开发
查看 XML 文件
查看 XML 文件
|
2月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
44 1
|
1月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
110 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
1月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
54 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块