MyBatis中map的神奇用法
MyBatis中的map是我认为非常神奇的一部分。尤其是它的用法,比如可以代替实体类产生的对象直接插入数据到数据库,避免了不知道数据库中各个部分的名称的问题。
依旧使用我们以前的模板。
在mapper中使用如下语句,定义一个方法名,添加信息到后台表单。
int addUser2(Map<String,Object> map);
不需要管以前定义的实体类和util文件,我们直接去mapper.xml中添加代码。
<insert id="addUser2" parameterType="map">
insert into jdbc1.users(name,pwd,number,danweixinxi) values (#{username},#{psaaada},#{nnn},#{danwi});
</insert>
可以看出,后面的value我都是随便写的,假设我们不知道后台的数据表中都有什么,我们可以随意定义。
之后就可以去test中尝试使用这个方法了。
@Test public void test6(){ SqlSession sqlSession; sqlSession = MyBatisUtils.getSqlSession(); userDao mapper=sqlSession.getMapper(userDao.class); Map<String,Object> map=new HashMap<String,Object>(); map.put("username","shabby"); map.put("psaaada","kezehua"); map.put("nnn","cpdd"); map.put("danwi","gouwo"); mapper.addUser2(map); sqlSession.commit(); sqlSession.close(); }
这个方法的优点是跳过使用user类,目前来看两者差别不大。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!