mybatis语句

1.mybatis 运行sql语句怎么找

在项目中,使用的是mybatis3.0.5,但没有采用其提供的DAO层接口映射的策略,而且在进行多种属性联合查找时,需要底层提供通用的解决方案,所以需要mybatis直接执行sql语句,各个daoImpl均可调用,减少了在每个mybatis文件中配置符合当前对象的select查询。

(在mybatis中,需要通过传递对象,在select中判断对象属性是否为空进行where语句的拼凑,对后期的维护工作带来不小的考验,所以采用直接执行sql策略)

先说一说配置时,遇到的异常:

Xml代码

${sql}

这样配置时,会出现:there no getter sql in Java.lang.String 的异常

所以考虑:用一个适配器,将sql作为属性加入其中

首先:

Xml代码

其次:

Java代码

public class SQLAdapter {

String sql;

public SQLAdapter(String sql) {

this.sql = sql;

}

public String getSql() {

return sql;

}

public void setSql(String sql) {

this.sql = sql;

}

}

最后:

Xml代码

${sql}

注意,不要忘记在调用该select方法时,用new SqlAdapter("自己写的sql语句")作为参数哦。。。

搞定。

真能折腾人的,这个直接写 value 不就可以了?

${value}

2.mybatis配置文件中我的sql查询语句有我自己定义的常量 比如 select 1

在service中把参数放到HashMap中

List list = new ArrayList();

list.add("x");

list.add("y");

list.add("z");

String s = "A"

Date d = new Date();

HashMap param = new HashMap();

param.put("list",list);

param.put("s",s);

param.put("d",d);

XXXDao.queryXXX(param);

在Mybatis的Mapper中是这么写:

select * from tab where zi_duan1 = #{s} and zi_duan2 = #{d}

and zi_duan3 in

<foreach item="item" index="index" collection="list" open="("

separator="," close=")">

#{item}

3.Java MyBatis SQL语句

你不是已经看到了吗,你加的WHERE 和你的 include ref有冲突的,如果你要实现

只要包一层table 出来就好了,以你的 Byconitions为模板:

select * from (select * from user_trade_recode where trade_type=1 and trade_kind=1)

<if test='…………'>

………………

</if>

order by id desc

4.mybatis中sql语句问题

这要用到动态sql了,首先你要改成

<resultMap type="test" id="test">

<id property="id" column="id" />

<result column="name" property="name" />

<collection property="picture" ofType="picture">

<id property="picture_id" column="id" />

<result column="product_id" property="product_id" />

<result column="img" property="picture_img" />

</collection>

</resultMap>

<select id="selecTests" resultMap="test">

select

A.id ,

B.product_id,

B.img,

A.name

from test A

LEFT JOIN

picture B ON A.id=B.product_id

</select>

还有就是你的悬赏太少了

5.如何在mybatis中调试查看生成的sql语句

最常用的 log4j.properties 来实现。

log4j.properties 内容如下:

log4j.rootCategory=info, stdout , R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n

log4j.appender.R=org.apache.log4j.

log4j.appender.R.File=D:/my_log.log

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n

log4j.logger.com.ibatis=debug

log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug

log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug

log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug

log4j.logger.java.sql.Connection=debug

log4j.logger.java.sql.Statement=debug

log4j.logger.java.sql.PreparedStatement=debug,stdout

有人在网上说不能用 slf4j.jar ,这个说法应该是错误的, slf4j 只是提供了很多接口,可以供很多日志系统用,并不是具体的解决方案,我的jar 包用到

slf4j-api-1.5.8.jar

slf4j-log4j12-1.5.8.jar

log4j-1.2.15.jar

貌似版本比较老,但可以使用,可以参考一下。

通过这种方式mybatis 就可以在控制台打印出sql语句,并且也可以写到日志文件中去。但是还没有format sql, 我也在研究,不过目前没进展,应该mybatis 不支持吧。

mybatis语句

转载请注明出处唯美语句网 » mybatis语句

资讯

csql语句

阅读(12)

本文主要为您介绍csql语句,内容包括sql常用语句,帮我归纳出来,谢谢,sql基本语句?,sql语句。基础 说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop dat

资讯

jsp的if语句

阅读(14)

本文主要为您介绍jsp的if语句,内容包括jsp中if语句怎么写?,JSP中的if语句,在JSP中IF语句问题。字符串比较用equals()的方法 String strID=new String(); strID=(String)session.g

资讯

csql语句

阅读(15)

本文主要为您介绍csql语句,内容包括sql常用语句,帮我归纳出来,谢谢,sql基本语句?,sql语句。基础 说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop dat

资讯

if语句的功能

阅读(20)

本文主要为您介绍if语句的功能,内容包括if的作用及何时用,C++中if语句中!的作用,if的作用及何时用。用 if 语句可以构成分支结构。 它根据给定的条件进行判断, 以决定执行某个分支程序段。 C 语言的 if 语句有三种基本形式。 5.1

资讯

描写春天的的语句

阅读(14)

本文主要为您介绍描写春天的的语句,内容包括谁知道描写春天的语句,描写春天的20个句子,描写春天的句子。春天来了,风知道。它奋力的吹走了严冬,它知道。雪花飞舞的日子,它卖过力。春天里的风人们叫它春风,经过一冬天和冰雪共舞的风,虽然疲惫不堪

资讯

c条件语句

阅读(13)

本文主要为您介绍c条件语句,内容包括C语言条件语句,C语言条件语句问题,c条件语句的表达。一个表达式的返回值都可以用来判断真假,除非没有任何返回值的void型和返回无法判断真假的结构。当表达式的值不等于0时,它就是“真”,否则

资讯

多个if语句

阅读(12)

本文主要为您介绍多个if语句,内容包括多个if语句会出问题吗?,帮我找二十多个if重句的句子不要虚拟语境不要太难与日常生活有关,多个if语句和elseif有什么区别。If it doesnt rain tomorrow,we will go there by bike.如果明天不下雨,我们就

资讯

it日语句型

阅读(12)

本文主要为您介绍it日语句型,内容包括这句话里的IT代表什么?,isadjtodosth/Itadjdoingsth两个语法句式都对吗?,这句话是什么句型结构,有什么句。it is+adj+for (to) 否定句式 的语法 it is+adj+of (to) 否定句式 的语法 主要是动词不定式作

资讯

又开头的语句

阅读(11)

本文主要为您介绍又开头的语句,内容包括祝自己生日快乐的句子又字开头,求一些开头结尾和句子(摘录),以又见花开为开头,写几句较长的句子。校园里的黎明来得最早,校园里的黎明风光最好。 大地还在酣睡,夜幕还未收尽,校园里已有了绰绰人影。 道

资讯

elseif语句

阅读(26)

本文主要为您介绍elseif语句,内容包括elseif语句格式?,关于if~else语句,Java中ifelse语句。这道题目,第一个if语句 a>b>c 不可以简单地理解成5>4>3,因为要表达这个意思,要写成if(a>b&&b>c)。

资讯

茶语句

阅读(19)

本文主要为您介绍茶语句,内容包括关于“茶”的经典句子?,描写“茶”优美的句子?,茶文化优美句子。月光白茶 胡秉言月光之下月光白,醇厚清香馥郁来。飘逸脱俗温雅异,圣洁高贵润心怀。普洱茶胡秉言宁损十斤酒,也喝普洱茶。邀朋聊日月,无事数桑

资讯

sqliteif语句

阅读(17)

本文主要为您介绍sqliteif语句,内容包括sqlite条件语句求助,有熟悉sqlite的么?在sqlite中没有ifthen的语句那么需要if的地方该怎,关于SQLite中的查询语句。去查查sqlite3的资料,应该就很清楚了。我没有用C/C++写过sqlite3的应用(用Java写过,当

资讯

sqlitefor语句

阅读(18)

本文主要为您介绍sqlitefor语句,内容包括sqlite的几个常用方法,sqlite语句查询,sqlite条件语句求助。-- 创建表时create table test(a integer,b integer DEFAULT 1,c integer);in

资讯

for语句代码

阅读(25)

本文主要为您介绍for语句代码,内容包括for语句代码PrivateSubForm,用for语句编写,C语言中的for语句。1:开始第一次循环得到p是第二个格子的麦子粒数 这是为什么?每一格都是前一格的2位,第一格初始为1,所以p=p*2,就是下一格的麦子粒数

资讯

csql语句

阅读(12)

本文主要为您介绍csql语句,内容包括sql常用语句,帮我归纳出来,谢谢,sql基本语句?,sql语句。基础 说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop dat

资讯

jsp的if语句

阅读(14)

本文主要为您介绍jsp的if语句,内容包括jsp中if语句怎么写?,JSP中的if语句,在JSP中IF语句问题。字符串比较用equals()的方法 String strID=new String(); strID=(String)session.g

资讯

csql语句

阅读(15)

本文主要为您介绍csql语句,内容包括sql常用语句,帮我归纳出来,谢谢,sql基本语句?,sql语句。基础 说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop dat

资讯

if语句的功能

阅读(20)

本文主要为您介绍if语句的功能,内容包括if的作用及何时用,C++中if语句中!的作用,if的作用及何时用。用 if 语句可以构成分支结构。 它根据给定的条件进行判断, 以决定执行某个分支程序段。 C 语言的 if 语句有三种基本形式。 5.1

资讯

描写春天的的语句

阅读(14)

本文主要为您介绍描写春天的的语句,内容包括谁知道描写春天的语句,描写春天的20个句子,描写春天的句子。春天来了,风知道。它奋力的吹走了严冬,它知道。雪花飞舞的日子,它卖过力。春天里的风人们叫它春风,经过一冬天和冰雪共舞的风,虽然疲惫不堪

资讯

c条件语句

阅读(13)

本文主要为您介绍c条件语句,内容包括C语言条件语句,C语言条件语句问题,c条件语句的表达。一个表达式的返回值都可以用来判断真假,除非没有任何返回值的void型和返回无法判断真假的结构。当表达式的值不等于0时,它就是“真”,否则

资讯

多个if语句

阅读(12)

本文主要为您介绍多个if语句,内容包括多个if语句会出问题吗?,帮我找二十多个if重句的句子不要虚拟语境不要太难与日常生活有关,多个if语句和elseif有什么区别。If it doesnt rain tomorrow,we will go there by bike.如果明天不下雨,我们就

资讯

if条件语句多个条件

阅读(13)

本文主要为您介绍if条件语句多个条件,内容包括if条件有多个语句,IF函数多个条件,电子表if语句多个条件使用。要格式嘛?还是多重条件? 一个if里面有多个 if嘛? int price = 玫瑰花价钱; if (price > 100) { 小女