一个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提供了一个强大的日志系统,支持多种日志实现,如Log4j、SLF4J、Java Util Logging等。选择哪种日志实现取决于你...
上述示例中,如果`age`属性的值小于等于18,则会在SQL语句中加入`AND ADOLESCENT='TRUE'`。 ##### 2. 属性检查 - `<isPropertyAvailable>`:检查某个属性是否存在于参数对象中。 - `<isNotPropertyAvailable>`:...
iBATIS通过`<iterate>`标签支持数组的遍历,将数组中的每个元素作为独立的值插入到SQL语句中。例如,`(" close=")" conjunction=",">`这段代码会将`actionIds`数组中的每个元素以逗号分隔的形式插入到SQL语句中,...
在iBatis中,SQL语句是通过XML文件来配置的。下面是16个常用的iBatis SQL语句,涵盖了基本的CRUD(Create、Read、Update、Delete)操作。 1. 删除语句 在iBatis中,删除语句可以使用`<delete>`元素。例如: ```xml...
在部署到 WAS 服务器上的 CMSII 系统中,ibatis 的 sql 语句不能输出日志的问题。解决该问题需要改变 WAS 的默认 LogFactory 实现类,使其使用 log4j 框架下的 LogFactory 实现类。 问题描述: 在本机 TOMCAT ...
在默认情况下,Ibatis并不会自动打印执行的SQL语句,但通过配置,我们可以使Ibatis在运行时输出SQL,这对于调试和性能分析非常有帮助。 要启用Ibatis的SQL日志记录,你需要在Ibatis的配置文件(通常为`mybatis-...
根据给定的文件信息,以下是对“Ibatis常用SQL语句”的详细解析,涵盖了一系列Ibatis在数据操作中的应用实例。 ### Ibatis简介 Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让...
### ibatis SQL语句编写详解 #### 一、引言 在软件开发过程中,数据库操作是必不可少的一部分。Ibatis(现称为MyBatis)作为一款优秀的持久层框架,提供了非常灵活的方式来处理SQL语句,使得Java开发者能够更加...
- **检查参数绑定**:看到SQL语句中的占位符被实际值替换的过程,有助于排查因参数传递错误导致的问题。 - **对比不同SQL的性能**:比较不同SQL语句的执行效率,优化查询设计。 总之,P6Spy是一个强大的工具,可以...
其中,`#accessLogId#`, `#memberId#`等均为占位符,表示将通过传入的对象获取相应的属性值并替换到SQL语句中。 ### 三、带HashMap参数的查询操作 第三条SQL语句是一个带`HashMap`参数的查询语句: ```xml ...
通过对ibatis框架下SQL语句中特殊字符处理方法的详细分析,我们可以看到,合理地使用字符串转义处理结合动态SQL标签,可以有效地解决特殊字符带来的问题。这样不仅可以保证查询的准确性,还可以提高代码的健壮性和...
用Ibatis时,配置sql语句时候 如果直接从sql里面把语句拷出来,玩玩格式不严谨,我写了这个工具来帮助我们格式化sql语句
在SQL语句中,使用问号(`?`)作为参数占位符是一种常见的做法,尤其是在编程语言如Java中与数据库交互时。这种方式被称为预编译语句或参数化查询,它具有重要的安全性和性能优势。 ### SQL参数化查询的概念 参数化...
iBatis提供了动态SQL片段的功能,可以将SQL语句拆分成小的、独立的片段,然后根据不同的条件组合这些片段生成最终的SQL语句。这可以提高代码的可重用性和灵活性。 例如,在上面的代码中,我们定义了三个动态SQL片段...
当使用`<dynamic>`标签时,可以将一系列条件组合起来,根据参数的不同值来决定是否加入到最终的SQL语句中。例如,在给定的部分内容中,可以看到`<dynamic prepend="where">`这样的用法,这里的关键在于`prepend`属性...
设置完日志级别后,当iBATIS执行SQL时,相关的SQL语句和参数将按照配置的格式打印到控制台或指定的日志文件中。这有助于开发者了解SQL执行的具体情况,包括绑定的参数值、查询结果等。 4. **动态SQL**: iBATIS...
生成数据库表结构: 根据解析得到的SQL语句中的表名、字段名、数据类型等信息,动态地生成相应的数据库表结构。这可以通过编程语言与数据库操作的API来实现,比如Java中的JDBC或者MyBatis/iBatis提供的API。 执行SQL...
Ibatis是一个基于Java的SQL映射框架,它允许开发者编写SQL语句并与Java对象进行绑定,从而避免了传统的JDBC代码带来的繁琐。Ibatis提供了一种灵活的方式来控制SQL的执行,同时保持了SQL与业务逻辑的分离,使得数据库...
在动态 SQL 语句中,我们可以使用 `<isNotNull>`、`<isGreaterThan>`、`<isLessThan>` 等元素来构建条件语句,这些元素可以根据参数的值动态地生成 SQL 语句。 三、大于、小于、等于 iBatis 中提供了多种方式来...