美文网首页
【MyBatis】常见用法

【MyBatis】常见用法

作者: 嘻洋洋 | 来源:发表于2019-07-19 17:28 被阅读0次

1. 设置SQL日志输出

在控制台输出,log4j.properties 配置

log4j.rootLogger=debug,info,stdout, R, L
 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender   
log4j.appender.stdout.Threshold=DEBUG   
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout    
log4j.appender.stdout.layout.ConversionPattern= %d{yyyy-MM-dd HH\:mm\:ss} [%5p] -%F(%L) -%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

2. @Paramd的用法

(1)如果是非基本数据类型,建议不使用@Paramd

public List<student> selectuser(@Param(value = "page")int pn ,@Param(value = "st")student student);
<select id="selectuser"  resultType="com.user.entity.student">
    SELECT * FROM student
    where sname like concat(concat("%",#{st.sname}),"%")
    LIMIT #{page} ,5
</select>

如果对对象是用了注解,要获取对象的属性值,应当使用 【注解名.属性名】 的方式。而当不使用注解时,可以直接通过【属性名】获取到对象的值。

(2)如果是基本数据类型,建议都使用@Paramd
@Param 含义:如果你的映射器的方法需要多个参数, 这个注解可以被应用于映射器的方法 参数来给每个参数一个名字。
如果不是使用@Param,会存在以下问题:

  • 当你不使用@Param注解来声明参数时,必须使用使用 #{}方式。如果使用 ${} 的方式,会报错。
    Mybatis异常There is no getter for property named 'XXX' in 'class java.lang.String'
  • 当入参为 string类型时 (包括java.lang.String)
    使用#{xxx}引入参数.会抛异常There is no getter for property named 'XXX' in 'class java.lang.String'
<select id="getBookingCount" resultType="int" parameterType="string">
select count(*) from TB_EMPC_BOOKING_ORDER T
where (t.state = '1' or t.state = '2')
and t.appointmenttime = #{state}
</select>
<choose>
     <when test="prevTime != null and prevTime !=''">
        AND t.post_time &lt; to_date(#{prevTime, jdbcType=VARCHAR}, 'yyyy-MM-dd HH24:mi:ss')
     </when>
     <otherwise>
        AND t.post_time &lt; SYSDATE
     </otherwise>
</choose>

相关文章

  • 【MyBatis】常见用法

    1. 设置SQL日志输出 在控制台输出,log4j.properties 配置 2. @Paramd的用法 (1)...

  • mybatis

    mybatis入门 mybatis原生用法 mybatis接口用法 1 namespace与接口全限定名一致 2 ...

  • mybatis-2

    mybatis原生用法 mybatis接口用法 1 namespace与接口全限定名一致2 id和抽象函数保持一致...

  • MyBatis框架实现(01)从JDBC开始

    学习了mybatis的用法,简单的查看了mybatis的源码,现在我们来徒手实现一个简单的mybatis。myba...

  • Mybatis的基本用法

    这篇博客主要是记录Mybatis的基本用法,包括Mybatis的入参形式、返回参数形式以及resultMap的使用...

  • java.异常.Mybatis

    Mybatis SQL语句常见异常 mybatis中加上日期类型( dbcType=DATE )即可: 另外,特殊...

  • mybatis 初始化过程都做了什么

    阅读本文之前,请你先熟悉下 mybatis 的常规用法。另外,本系列文章只是单纯的使用 mybatis ,没有与 ...

  • mybatis session创建过程(2)

    session创建过程  在mybatis的常规用法当中,通过sqlSessionFactory.openSess...

  • Mybatis基本用法----配置Mybatis

    这次在项目中使用了Mybatis框架在数据库层面进行开发,首先就来总结下Mybatis中的配置到最基本的使用。 准...

  • 常见用法

    1 To do 结构 ask sb. to do sth.请(叫)某人做某事 tell sb to do sth ...

网友评论

      本文标题:【MyBatis】常见用法

      本文链接:https://www.haomeiwen.com/subject/lnycxctx.html