MyBatis之接口编程

本文介绍了MyBatis中接口编程的方式,强调了通过SqlSession实例进行增删改查操作时应注意的问题,如命名空间的唯一性、参数类型匹配及返回值类型一致性。在用户表sys_user7的操作中,展示了如何定义接口SysUser7Dao,并在MyBatis配置文件中引入映射文件。关键在于使用接口全限定名作为命名空间,并通过sqlSession.getMapper()方法实例化接口,使方法调用与映射文件中的SQL id匹配,实现SQL操作。
摘要由CSDN通过智能技术生成

通过SqlSession的实例可进行MyBatis的增删改查操作;

以查询为例:

Object obj = sqlSession.selectOne("com.chensan.sys.entity.SysUser1.getById",1);
SysUser1 sysUser1 = (SysUser1)obj;
第一个参数为映射文件命名空间加上相应元素的id值,第二个参数则为Object类型,在相应SQL操作的元素上要指定参数类型;执行SQL后,获取的返回值需要将Object转换成想要的数据类型;

这种操作的方式潜在的问题:

1.为确保命名空间唯一,一般用实体类的全路径名作为namespace。如果拼写错误,或者无意中被修改,会导致操作无法完成的问题;

2.操作的参数是Object类型,如果传入的参数和映射文件的parameterType的数据类型不一致,会出现不可预知的错误;

3.返回值使用了泛型,须确保用于接收返回值的变量 类型与映射文件中属性resultType指定的类型一致;

用户表sys_user7:

CREATE TABLE `sys_user7` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(50) DEFAULT NULL,
  `birthday` date DEFAULT NULL,
  `salary` decimal(8,2) DEFAULT NULL,
  `address` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB CHARSET=utf8;
INSERT INTO `sys_user7` VALUES(1, '陈三', '1992-02-29', 123456.78, '深圳市南山区');
INSERT INTO `sys_user7` VALUES(2, '张三', '1990-03-05', 8500, '深圳市宝安区');
INSERT INTO `sys_user7` VALUES(3, '李三', '1991-05-23', 123326.1, '深圳市福田区');
INSERT INTO `sys_user7` VALUES(4, '赵四', '1988-09-15', 8000, '深圳市龙华新区');
用户类SysUser7:

public class SysUser7 {
	private int id;
	private String userName;
	private Date birthday;
	private Double salary;
	private String address;
	//...省略setter、getter方法
	public String toString(){
		return "SysUser7 [id = " + id + ", userName = " + userName + ", birthday = " + birth
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值