`
wpsing
  • 浏览: 6218 次
  • 来自: ...
社区版块
存档分类
最新评论

ibatis中写SQL语句的优势

阅读更多
一个ibatis生成JAVA相关配置文件的工具,非常好用,
地址:http://www.ibatis3.com/
会自动生成dao,xml,以及相应的service文件

对于多表查询,可以在相应的结果的XML里面查询,

如下面的SQL语句,查询的是PS_ARTIST表的信息,但是后面有相应的判断,如果用IBATIS自身的查询的话,会写多次嵌套,这样写就很容易实现查询了!

  <select id="selectSearchbyNameAndPage" resultMap="BaseResultMap" parameterType="java.util.Map" >
select g.art_id as ART_ID, g.art_12530id as ART_12530ID,g.art_name as ART_NAME,g.art_ename as ART_ENAME,
    g.art_simple_py as ART_SIMPLE_PY,g.art_sex as ART_SEX,g.art_area as ART_AREA, g.art_birthday as ART_BIRTHDAY,g.art_infor as ART_INFOR,
    g.art_intro  as ART_INTRO,g.art_tblog  as ART_TBLOG,g.art_pic_path as ART_PIC_PATH,g.art_album_count as ART_ALBUM_COUNT,
    g.art_track_count as ART_TRACK_COUNT,g.art_hot as ART_HOT,g.art_time as ART_TIME,g.art_tblog_type as ART_TBLOG_TYPE
    from PHONECLIENT_V.PS_ARTIST g where g.art_id not in(select f.fav_cid from PHONECLIENT_V.PS_USER_FAV f where f.fav_uid=#{mobile} and  f.fav_state=1 )
    and(g.art_name like #{singername} or g.art_simple_py like #{singername} or g.art_ename like #{singername})

超级强的语句,完成推荐歌手的列表
1、用户未关注的
2、系统推荐的顺序排序
3、未推荐的按时间

select aa.art_id as ART_ID, aa.art_12530id as ART_12530ID,aa.art_name as ART_NAME,aa.art_ename as ART_ENAME,
    aa.art_simple_py as ART_SIMPLE_PY,aa.art_sex as ART_SEX,aa.art_area as ART_AREA, aa.art_birthday as ART_BIRTHDAY,aa.art_infor as ART_INFOR,
    aa.art_intro  as ART_INTRO,aa.art_tblog  as ART_TBLOG,aa.art_pic_path as ART_PIC_PATH,aa.art_album_count as ART_ALBUM_COUNT,
    aa.art_track_count as ART_TRACK_COUNT,aa.art_hot as ART_HOT,aa.art_time as ART_TIME,aa.art_tblog_type as ART_TBLOG_TYPE from (
    select g.art_id as ART_ID, g.art_12530id as ART_12530ID,g.art_name as ART_NAME,g.art_ename as ART_ENAME,
    g.art_simple_py as ART_SIMPLE_PY,g.art_sex as ART_SEX,g.art_area as ART_AREA, g.art_birthday as ART_BIRTHDAY,g.art_infor as ART_INFOR,
    g.art_intro  as ART_INTRO,g.art_tblog  as ART_TBLOG,g.art_pic_path as ART_PIC_PATH,g.art_album_count as ART_ALBUM_COUNT,
    g.art_track_count as ART_TRACK_COUNT,g.art_hot as ART_HOT,g.art_time as ART_TIME,g.art_tblog_type as ART_TBLOG_TYPE,
    NVL(g1.hc_sequence,0) as hc_sequence
    from PHONECLIENT_V.PS_ARTIST g
    left join (select h.hc_cid as hc_cid , h.hc_sequence as hc_sequence from PHONECLIENT_V.PS_HOT h where h.hc_type = 1) g1
    on g.art_id=g1.hc_cid
    where g.art_id not in(select f.fav_cid from PHONECLIENT_V.PS_USER_FAV f where f.fav_uid=#{mobile} and  f.fav_state=1 )
    order by g1.hc_sequence) aa order by aa.hc_sequence desc ,aa.ART_ID
  </select>

分享到:
评论

相关推荐

    在ibatis日志信息中打印SQL语句的方法(个人总结)

    本文将详细讲解如何在iBatis日志信息中打印SQL语句,以便更好地理解和优化数据库操作。 首先,iBatis提供了一个强大的日志系统,支持多种日志实现,如Log4j、SLF4J、Java Util Logging等。选择哪种日志实现取决于你...

    iBatis的动态SQL语句

    上述示例中,如果`age`属性的值小于等于18,则会在SQL语句中加入`AND ADOLESCENT='TRUE'`。 ##### 2. 属性检查 - `&lt;isPropertyAvailable&gt;`:检查某个属性是否存在于参数对象中。 - `&lt;isNotPropertyAvailable&gt;`:...

    ibatis常用sql语句

    iBATIS通过`&lt;iterate&gt;`标签支持数组的遍历,将数组中的每个元素作为独立的值插入到SQL语句中。例如,`(" close=")" conjunction=","&gt;`这段代码会将`actionIds`数组中的每个元素以逗号分隔的形式插入到SQL语句中,...

    ibatis16个常用sql语句

    在iBatis中,SQL语句是通过XML文件来配置的。下面是16个常用的iBatis SQL语句,涵盖了基本的CRUD(Create、Read、Update、Delete)操作。 1. 删除语句 在iBatis中,删除语句可以使用`&lt;delete&gt;`元素。例如: ```xml...

    WAS上log4j日志不能输出(ibatis)sql语句解决办法[借鉴].pdf

    在部署到 WAS 服务器上的 CMSII 系统中,ibatis 的 sql 语句不能输出日志的问题。解决该问题需要改变 WAS 的默认 LogFactory 实现类,使其使用 log4j 框架下的 LogFactory 实现类。 问题描述: 在本机 TOMCAT ...

    打log4j日志-ibatis的sql输出

    在默认情况下,Ibatis并不会自动打印执行的SQL语句,但通过配置,我们可以使Ibatis在运行时输出SQL,这对于调试和性能分析非常有帮助。 要启用Ibatis的SQL日志记录,你需要在Ibatis的配置文件(通常为`mybatis-...

    Ibatis常用sql语句

    根据给定的文件信息,以下是对“Ibatis常用SQL语句”的详细解析,涵盖了一系列Ibatis在数据操作中的应用实例。 ### Ibatis简介 Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让...

    ibatis sql 语句的编写

    ### ibatis SQL语句编写详解 #### 一、引言 在软件开发过程中,数据库操作是必不可少的一部分。Ibatis(现称为MyBatis)作为一款优秀的持久层框架,提供了非常灵活的方式来处理SQL语句,使得Java开发者能够更加...

    使用P6spy打印ibatis执行的SQL语句

    - **检查参数绑定**:看到SQL语句中的占位符被实际值替换的过程,有助于排查因参数传递错误导致的问题。 - **对比不同SQL的性能**:比较不同SQL语句的执行效率,优化查询设计。 总之,P6Spy是一个强大的工具,可以...

    ibatis常用的sql

    其中,`#accessLogId#`, `#memberId#`等均为占位符,表示将通过传入的对象获取相应的属性值并替换到SQL语句中。 ### 三、带HashMap参数的查询操作 第三条SQL语句是一个带`HashMap`参数的查询语句: ```xml ...

    ibatis sql语句对条件中特殊字符% # 处理

    通过对ibatis框架下SQL语句中特殊字符处理方法的详细分析,我们可以看到,合理地使用字符串转义处理结合动态SQL标签,可以有效地解决特殊字符带来的问题。这样不仅可以保证查询的准确性,还可以提高代码的健壮性和...

    将SQl语句转换成Ibatis之Xml文件语句

    用Ibatis时,配置sql语句时候 如果直接从sql里面把语句拷出来,玩玩格式不严谨,我写了这个工具来帮助我们格式化sql语句

    sql语句中用问号代替参数

    在SQL语句中,使用问号(`?`)作为参数占位符是一种常见的做法,尤其是在编程语言如Java中与数据库交互时。这种方式被称为预编译语句或参数化查询,它具有重要的安全性和性能优势。 ### SQL参数化查询的概念 参数化...

    ibatis动态SQL标签用法

    iBatis提供了动态SQL片段的功能,可以将SQL语句拆分成小的、独立的片段,然后根据不同的条件组合这些片段生成最终的SQL语句。这可以提高代码的可重用性和灵活性。 例如,在上面的代码中,我们定义了三个动态SQL片段...

    ibatis打印sql

    设置完日志级别后,当iBATIS执行SQL时,相关的SQL语句和参数将按照配置的格式打印到控制台或指定的日志文件中。这有助于开发者了解SQL执行的具体情况,包括绑定的参数值、查询结果等。 4. **动态SQL**: iBATIS...

    ibatis的dynamicSQL中,关于prepend的使用

    当使用`&lt;dynamic&gt;`标签时,可以将一系列条件组合起来,根据参数的不同值来决定是否加入到最终的SQL语句中。例如,在给定的部分内容中,可以看到`&lt;dynamic prepend="where"&gt;`这样的用法,这里的关键在于`prepend`属性...

    ibatis_with_memcached

    Ibatis是一个基于Java的SQL映射框架,它允许开发者编写SQL语句并与Java对象进行绑定,从而避免了传统的JDBC代码带来的繁琐。Ibatis提供了一种灵活的方式来控制SQL的执行,同时保持了SQL与业务逻辑的分离,使得数据库...

    根据MyBatis或iBatis的SQLMapper文件反向生成数据库表

    生成数据库表结构: 根据解析得到的SQL语句中的表名、字段名、数据类型等信息,动态地生成相应的数据库表结构。这可以通过编程语言与数据库操作的API来实现,比如Java中的JDBC或者MyBatis/iBatis提供的API。 执行SQL...

    查看ibatis后台sql

    通过java程序查看ibatis配置文件中的sql语句(注:无法查看变量值)

Global site tag (gtag.js) - Google Analytics