SSM 的 MYBATIS 相关文件中 为什么写了mapper的xml文件,还 非要 再 写个接口.java 才能正常用

eisldkw 2020-08-18 03:23:47
SSM 的 MYBATIS 相关文件中 为什么写了mapper的xml文件,还 非要 再 写个接口.java 才能正常用
...全文
2800 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
谈谈1974 2020-08-28
  • 打赏
  • 举报
回复
动态代理,https://blog.csdn.net/weixin_45505313/article/details/98874299
菜鸟①个 2020-08-27
  • 打赏
  • 举报
回复
引用 9 楼 eisldkw的回复:
[quote=引用 5 楼 lkwahl 的回复:]不写接口你要用的时候怎么用?它怎么给你动态代理,给个xml怎么动态代理?


非常感谢。这跟动态代理啥 关系 ?[/quote] 你觉得接口可以实例化吗?你实际使用的那个对象是mybatis解析xml文件和你定义的接口再使用jdk动态代理生成的。
eisldkw 2020-08-27
  • 打赏
  • 举报
回复
引用 8 楼 Yokeuu 的回复:
xml和java文件功能不同,xml是一种文本标记语言,不属于java语言,所以service里方法想调用mapper层就需要通过dao接口中的方法名和mapper文件中的id进行映射。dao接口定义方法,mapper中定义方法主体相当于实现类


非常感谢。但是还是没看明白,可否说得再细致一些?
eisldkw 2020-08-27
  • 打赏
  • 举报
回复
引用 5 楼 lkwahl 的回复:
不写接口你要用的时候怎么用?它怎么给你动态代理,给个xml怎么动态代理?


非常感谢。这跟动态代理啥 关系 ?
Yokeuu 2020-08-19
  • 打赏
  • 举报
回复
xml和java文件功能不同,xml是一种文本标记语言,不属于java语言,所以service里方法想调用mapper层就需要通过dao接口中的方法名和mapper文件中的id进行映射。dao接口定义方法,mapper中定义方法主体相当于实现类
YangjulongTrue 2020-08-19
  • 打赏
  • 举报
回复

SqlSession s=null;
s.selectList("mapper文件命名空间加方法名");

增删改 也是改一下方法名 不过没有提示 容易出错 不好维护
eisldkw 2020-08-19
  • 打赏
  • 举报
回复
引用 4 楼 RockeyCui 的回复:
恩??? 不写 java 文件你咋调用啊?


非常感谢。我说的是这个接口文件。
菜鸟①个 2020-08-19
  • 打赏
  • 举报
回复
不写接口你要用的时候怎么用?它怎么给你动态代理,给个xml怎么动态代理?
RockeyCui 2020-08-18
  • 打赏
  • 举报
回复
恩??? 不写 java 文件你咋调用啊?
明白畅达 2020-08-18
  • 打赏
  • 举报
回复
一个是接口一个是接口文件映射吧,不确定
eisldkw 2020-08-18
  • 打赏
  • 举报
回复
引用 1 楼 小心仔 的回复:
实体类吧!序列化传输字段信息的
非常感谢。但是不明白您的意思,具体的文件如下,有两个,一个是 mapper.xml 另一个是 接口文件 1、XML文件 /mapper/xml/EmGiveHouseCurLevelMapper.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.jeeplus.modules.em.mapper.EmGiveHouseCurLevelMapper"> <sql id="emGiveHouseCurLevelColumns"> a.id AS "id", a.house_id AS "houseId", a.level_id AS "levelId", a.give_kwh AS "giveKwh", a.give_kwh_have AS "giveKwhHave", a.year AS "year", a.create_by AS "createBy.id", a.create_date AS "createDate", a.update_by AS "updateBy.id", a.update_date AS "updateDate" </sql> </mapper> 2、接口文件 /mapper/EmGiveHouseCurLevelMapper.java package com.jeeplus.modules.em.mapper; @MyBatisMapper public interface EmGiveHouseCurLevelMapper extends BaseMapper<EmGiveHouseCurLevel> { public EmGiveHouseCurLevel getGiveInfo(EmGiveHouseCurLevel entity); public int updateWhenSell(EmGiveHouseCurLevel entity); public List<EmGiveHouseCurLevel> findByLevelId(EmGiveHouseCurLevel entity); } 为什么还要有 2 中的接口文件
小心仔 2020-08-18
  • 打赏
  • 举报
回复
实体类吧!序列化传输字段信息的

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧