ibatis学习(5)sqlMap注意事项

 

1.sqlMap的整体理解:配置设置之后,就是建立了一个sqlMAPID,SQL),可以向其中输入参数,也可与返回数据。  

<!--select标签:设置SQL的ID,并给SQL设置返回值 -->

   <select id="selectAllStudent"resultClass="Student">

       select * from student

   </select>


<!--typeAlias标签:给类名取了一个别名 -->

<typeAlias alias="student"type ="Student" />

2.理解SQL语句中的参数书写方式

   1)理解#id#的意思:

      #id#   就相当与占位符,就像JDBC里面的“?”。

      parameterClass="int"  就相当于设置“?”的类型。 

          对于一般基本类型:

 <select id="selectStudentByID"  parameterClass="int"  resultClass="Student">

       select * from student

       where id=#id#

   </select>

         对于引用类型:

     当读到#id#的时候,就会调用到参数中的get方法,而调用哪个get是看# #里面的内容。

     #Id#   就是调用getID的方法。所以,values中内容顺序是不能换的。

<insert id="insertStudent"   parameterClass="Student">

       insert into Student(id,name,brith)

       values(#id#,#name#,#brith#)

   </insert>

    2)select语句中模糊查询   

          where 从句 LIKE "%$name$%" $name$ 会取到name的值

 

3.序列生成主键

       <selectKey>  </selectKey>中先查询到ID,在插入。

       resultClass="int"就是指得到的返回值。

       keyPropery="id"   是指Student中的id,而不是数据库中的id,代表赋值给Student id

<insert id="insertStudentBySequence"   parameterClass="Student">

       <selectKey  resultClass="int"keyPropery="id">

       select xuelie.nextVal  from dual

       </selectKey>

       insert into Student(id,name,brith)

       values(#id#,#name#,#brith#)

   </insert><span style="color:black;">  </span>

4.注意点: 

    在写实体类的时候,要知道SQLMAP运行过程中,会动态调用实体类的相关方法和属性,构建时必须提供无参构造函数。否则会出错误。

 

5.优点:把SQL语句和Java代码分离

   缺点:1.SQL语句需要自己写

               2.参数使用不方便,需要把所有的参数都打包成一个对象,才能接收。  

 

  

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良之才-小良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值