设为首页 收藏本站
查看: 1049|回复: 0

[经验分享] Mybatis 模糊查询

[复制链接]

尚未签到

发表于 2016-11-24 07:50:16 | 显示全部楼层 |阅读模式
今天需要用到mybatis 3.0.6的模糊查询, google了一下,很多人问问题,但是回答清楚的确没发现,以下是我项目中遇到问题的总结:
1. Mybatis sql语句的打印问题。 Mybatis本身集成了log4j,所以我们只需要在log4j的配置文件中改改就能让它打印出sql信息。在log4j.properties文件中加上:
log4j.logger.java.sql=debug,stdout
2. 模糊查询的问题。在Mapper文件中加上,   <select id="selectByExampleLike" parameterType="com.CLIENT" resultMap="BaseResultMap">
select
CLIENT_ID, CLIENT_NAME, CLIENT_CODE, CLIENT_LNAME, CLIENT_FNAME, CLIENT_EMAIL, CLIENT_PASS,
CLIENT_ADDRESS
from CLIENT WHERE CLIENT_ID != ''
<if test="clientId != null">
AND CLIENT_ID like CONCAT('%','${clientId}','%' )
</if>
<if test="clientName != null">
AND CLIENT_NAME like CONCAT('%','${clientName}','%' )
</if>
<if test="clientCode != null">
AND CLIENT_CODE like CONCAT('%','${clientCode}','%' )
</if>
<if test="clientLname != null">
AND CLIENT_LNAME like CONCAT('%','${clientLname}','%' )
</if>
<if test="clientFname != null">
AND CLIENT_FNAME like CONCAT('%','${clientFname}','%' )
</if>
<if test="clientEmail != null">
AND CLIENT_EMAIL like CONCAT('%','${clientEmail}','%' )
</if>
<if test="clientPass != null">
AND CLIENT_PASS like CONCAT('%','${clientPass}','%' )
</if>
<if test="clientAddress != null">
AND CLIENT_ADDRESS like CONCAT('%','${clientAddress}','%' )
</if>
</select>

然后可以通过测试:
public class CLIENTServiceImplTest {
public static void main(String[] args) {
SqlSessionFactory factory = null;
try {
factory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader("Configuration.xml"));
} catch (IOException e) {
e.printStackTrace();
}
SqlSession sqlSession = factory.openSession();
CLIENT example = new CLIENT();
example.setClientId(1);
example.setStart(2);
example.setLimit(3);
example.setOrderByClause("CLIENT_ID ASC");
List<CLIENT> list = sqlSession.getMapper(CLIENTMapper.class).selectByExampleLike(example);
for(CLIENT c : list){
System.out.println(c.getClientId()+"  "+c.getClientName());
}
System.out.println("------------------- list.size: " + list.size());
for(int i=0;i<10;i++){
//list = sqlSession.getMapper(CLIENTMapper.class).selectByExample(example);
}
}
}

Configuration.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="myexample">
<environment id="myexample">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="coc/mg/dao/CLIENTMapper.xml" />
</mappers>
</configuration>

好,模糊查询搞定!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-304636-1-1.html 上篇帖子: Mybatis配置文件 下篇帖子: mybatis 基本配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表