Mytabis通过sqlsession发送SQL语句与获取mapper发送SQL语句的不同以及注意事项

 My Batis存在的两种发送SQL的方式,一种用 Sqlsession直  接发送,另外一种通过 Sqlsession获取Mapr接口再发送。建议用 Sqlsession获取 Mapper的方式,理由如下:  使用 Mapper接口编程可以消除 Sqlsession带来的功能性代码,提高可读性,而  Sqlsession发送SQL,需要一个 SQL id去匹配SQL,比较晦涩难懂。使用 Mapper  接口,类似 roleMapper. getRole(1L)则是完全面向对象的语言,更能体现业务的逻辑  使用 Mapper.geol(1L)方式,DE会提示错误和校验,而使用  sqlSession. selectOne(“ get Role”,1L)语法,只有在运行中才能知道是否会产生错误  目前使用 Mapper接口编程已成为主流,尤其在 Spring中运用MBas时, Mapper接  口的使用就更为简单。

在使用中需要注意,mapper的配置文件的namespace此时就不可以随便写了,而必须要与dao类一致,如:

<mapper namespace="dao.IStudentDao">
	<!-- id是该sql语句的名字, parameterType是 -->
	<insert id="insertStu" parameterType="mybatis.Student">
		insert into
		student(name,age,score) values(#{name}, #{age}, #{score})
	</insert>
</mapper>

否则的话就会出现的错误

org.apache.ibatis.binding.BindingException: Type interface dao.IStudentDao is not known to the MapperRegistry.

同时,在接口的定义中,如果进行的操作是接口中XXXMapper接口中save、update等方法中,保存后只能返回数字,用int接收,不能返回java类或其他!!!所用到的方法必须为void类型,

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值