2020-08-10 Mybatis配置、使用Map集合传递SQL参数、核心配置文件解析、给包取别名
mybatis配置错误解析
注意!在Mapper.xml的配置文件中,namespace的路径要写成这种形式
<mapper namespace="com.wang.Dao.UserMapper">
因为它找的是JAVA文件,所以可以点出来,但是!
在核心配置文件中,有一个定义mapper位置的路径,要用/写:
<mappers><mapper resource="com/wang/Dao/UserMapper.xml"/></mappers>
因为它找的xml文件,所以不能点出来,要用/来写
如何通过Map集合自定义传递参数类型
接口:
//使用map传递参数重写addUser方法int addUser2(Map<String,Object> map);
<insert id="addUser2" parameterType="Map">insert into mybatis.user(id, name, pwd) values (#{myid},#{myname},#{mypwd});</insert>
@Testpublic void addUserTest(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper userMapper = sqlSession.getMapper(UserMapper.class);Map<String,Object> map = new HashMap();map.put("myid",5);map.put("myname","卢崛");map.put("mypwd","宝哥我能去你家过年吗");int result = userMapper.addUser2(map);sqlSession.commit();sqlSession.close();}
注意知识点!接口中最好不要重载方法,idea识别不出来,还是会把Map当做前面的User对象来解析导致出错
模糊查询:
public void getUserBylike(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper userMapper = sqlSession.getMapper(UserMapper.class);List<User> list = userMapper.getUserBylike("%卢%");for (User user : list) {System.out.println(user);}sqlSession.close();}
}
主要是JAVA的测试代码中加入模糊查询用到的%%
配置解析
mybatis-config.xml
优化mybatis配置:
在这个XML文件,各个标签都是由先后定义顺序的,外部引入properties文件,标签必须放在前面
新建一个db.properties文件,写入以下配置
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
username=root
password=123456
然后在核心配置文件中进行外部引入:
<properties resource="db.properties" />
其中如果写成了双闭合,还可以再追加一些属性操作
怎么给包取别名:
<typeAliases>
<!-- <typeAlias type="com.wang.pojo.User" alias="User"/>--><package name="com.wang.pojo"/></typeAliases>
第二种这种方式就是直接在引用的时候,用首字母小写的类名就可以
还有一种方式,注解:
@Alias("梁志斌")
但是考虑后续学习注解开发过多,不建议使用
怎么引入mapper:
<mappers><mapper resource="com/wang/Dao/UserMapper.xml"/></mappers>
推荐使用这种,还有另外的使用class关键字或者packet都不推荐,因为有使用限制,要求接口和Mapper.xml同名而且要在同一个文件夹下
另外还有一些Mybatis中的一些设置,也是在这个核心配置文件中进行设置,具体方法查看地址:
点击我获取Mybatis的核心配置方法以及值代表含义
2020-08-10 Mybatis配置、使用Map集合传递SQL参数、核心配置文件解析、给包取别名相关推荐
- 【mybatis】mybatis中 返回map集合
关于mybatis返回map集合的操作: 1.mapper.xml中写一个查询返回map的sql <select id="findMap" parameterType=&qu ...
- MyBatis批量insert map集合
近日项目中使用到了SpringBoot+MyBatis,有些同学估计是来秀实力的,或者说我太菜了~~~ 整了个批量insert map集合,还带嵌套的,具体情况如下: params为入参集合,即Map ...
- mybatis中循环map集合操作
首先声明一个MAP集合,用来存放数据:如下图:声明map集合pd,将数据put到pd中,然后在声明一个map集合params,将pd几个放入params集合中,将params作为参数,参入xml配置文 ...
- Real-World Super-Resolution via Kernel Estimation and Noise Injection ---2020.08.10
介绍:2020 cvpr real world SR challenge NO.1 内容:论文翻译+实验细节 摘要: 不管blur和noise如何,最新的超分辨率方法在理想数据集上均具有出色的性能.但 ...
- myBatis中通过map集合传入数据查询结果为空
入参Mapper的写法: Test文件: 在调用findUserByMap进行模糊查询的时候一直查询出来为空,起初以为是数据库的问题,但是数据库中是存在数据的,我就感觉是在'%${username ...
- 2020.08.10多态
- 万能的Map集合传递参数和模糊查询
注意:结合之前文章mybatis基础,在此基础上进行. 1 万能的Map 假设我们的实体类,或者数据库中的表.字段或者参数过多,我们可以考虑使用Map 1 不同名字的插入操作 // 不同名字的插入操作 ...
- MyBatis配置:在控制台打印SQL语句
转载自:https://blog.csdn.net/qq_37816259/article/details/78643210 1.在spring-mybatis.xml中配置语句 注意:value=& ...
- 【Groovy】map 集合 ( map 集合操作符重载 | + 操作符重载 | 代码示例 )
文章目录 一.map 集合 " + " 操作符重载 二.代码示例 一.map 集合 " + " 操作符重载 对 map 集合使用 " + " ...
最新文章
- ThinkPHP5整合LayUI编辑器图片上传
- 图解Skip List——本质是空间换时间的数据结构,在lucene的倒排列表,bigtable,hbase,cassandra的memtable,redis中sorted set中均用到...
- (实用)将wordpad添加到Windows PowerShell中
- 小白如何学习大数据开发,大数据学习路线是怎样的?
- Intel Realsense D435 当摄像头运行过程中突然USB线断开,对RuntimeError: Frame didn't arrived within 5000的异常捕获及处理
- invalidate(true) 图形不显示_2D图像界面-ATI 图形界面卡
- 大量多风格多功能后台管理模板
- 在Latex中插入Python代码
- Spring Cloud Gateway 源码解析(2) —— 路由
- 使用c:forEach 控制5个换行
- [2018/11/13]图像处理
- linux ntp时间服务器配置
- Elasticsearch--Docker安装kibana---全文检索引擎ElasticSearch工作笔记003
- 使用FFMPEG类库分离出多媒体文件中的音频码流
- 从零开始学Vue(一)—— Vue.js 入门
- SAP 各模块常用T-Code
- 电动汽车动力系统整车仿真,具有双向DCDC变换器实现能量反馈
- opencv remap matlab,如何使用OpenCV的remap函数?
- arm linux ota,嵌入式Linux的OTA更新,现有更新系统的比较
- Bugku:Snowfall