![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
三千炼心
这个作者很懒,什么都没留下…
展开
-
mybatis使用resultType返回获取不到某些字段的值
注意:由于使用resultType,返回对象值,所以如果数据库字段的名称和对象属性名称有些出入,也就是不按标准(如驼峰命名)命名的话,该字段获取的值就无法注入对象中,导致获取不到完整的对象值,所以出现这样的问题可以选择使用resultMap返回结果,或者将数据库字段名规范与model的变量名一致,可使用驼峰命名。...原创 2019-10-24 15:34:20 · 3841 阅读 · 10 评论 -
mybatis一对一和一对多系映射详解,以及n+1问题在mybatis分页时数量不对的解决方法
本文主要讲解关于使用mybatis是多表关联,一对一和一对多如何进行关系映射,以及一对多查询时出现n+1问题的解决方法,本次使用oracle数据库为例。model对象@Table(name = "SEAT")public class Seat { private String seatId; //座位id, 字段名:SEAT_ID private String seatCode; //座...原创 2019-08-23 17:56:28 · 2273 阅读 · 0 评论 -
通用mapper更新时报字段为空的异常,以及表不存在问题
Error setting null for parameter #3 with JdbcType OTHER需要在model的映射类给属性设置主键,在属性上加注解@IdORA-00942: 表或视图不存在@Table(name = “表名”)需要在model的映射类给属性设置关联表,在类上加注解@Table(name = “USER”)...原创 2019-08-07 16:06:25 · 1362 阅读 · 0 评论 -
mybatis分页时关于n+1问题的几种解决方法
所谓的n+1问题,举个例子,当你要查出一个列表数据的时候执行了一次sql查了一次数据库,而你还需要查到这个列表数据中每一条的关联信息,如果列表有n条数据,你就需要再查n次数据库,这样的话,效率就很低了,这个就是n+1问题,这还会导致分页的数据不对的问题。一下提供几条意见供参考:使用懒加载。在未使用关联表数据时,可以让其在后面再加载出来,减轻服务器的压力。但是,如果一开始就需要关联表的数据信息...原创 2019-07-23 10:54:52 · 2767 阅读 · 0 评论 -
mybatis参数错误快速定位Parameter 'userGUID' not found
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘userGUID’ not found. Available parameters are [param1, userGuid, param2, param3, n...原创 2019-06-27 09:11:23 · 347 阅读 · 0 评论 -
mybatis集合传参是否用@Param注解的区别
一、使用@Param注解,则限定该传输名为@Param(“userGUIDs”)的value值,如果接收的不是userGUIDs则会报错说没有该collectionpublic int deleteByUserGUIDs(@Param(“userGUIDs”) String[] userGUIDs);<delete id="deleteByUserGUIDs" parameterType...原创 2019-06-26 09:50:43 · 2027 阅读 · 0 评论 -
mybatis的sql打印配置
mybatis的sql打印配置,注意上生产环境必须去掉,否则严重影响速度<setting name="logImpl" value="STDOUT_LOGGING" />原创 2019-06-26 09:33:08 · 301 阅读 · 0 评论 -
Sts或Eclipse如何使用Mybatis Generator插件自动生成代码
使用Mybatis Generator自动生成Model,Mapper.java,Mapper.xml文件一、首先在Eclipse安装Mybatis Generator插件help—> Eclipse Markeplace -> 搜索Mybatis Generator,然后点击Install,等待安装好二、在项目下建一个generatorConfig.xml,内容如下:<...原创 2019-06-26 09:06:35 · 1261 阅读 · 0 评论 -
tk.mybatis.mapper 通用mapper的使用
1、引入通用mapper的包<!--通用Mapper--><dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>4.0.4</version></depe...原创 2019-06-24 18:41:37 · 4759 阅读 · 1 评论 -
使用pagehelper分页插件遇到的问题
在使用这个插件的时候,若系统为分布式系统,例如dubbo+service+web,项目独立分开如果在service服务端中使用pagehelper的时候,查询获取到的是代理对象Page,而不在是原来应该获取的实例对象,所以这个时候如果你直接将这个东西返回给web客户端的话,就会报出找不到类,因为在web客户端没有依赖导入pagehelper包,故,无法反序列化接收到service序列化返回给we...原创 2019-06-24 18:33:16 · 2290 阅读 · 1 评论 -
mybatis插入对象时,若部分属性为空值如何处理
如下加入jdbcType即可 <insert id="save" parameterType="User"> insert into USER(USER_GUID,USER_NAME,USER_DESC) values (#{userGuid, jdbcType=VARCHAR}, #{userName, jdbcType=VARCHAR},#{us...原创 2019-06-24 18:10:48 · 6821 阅读 · 0 评论 -
MyBatis符号处理
方式1、使用转义字符<select id="listUser" resultType="User"> select * from User where birthday >= #{startDate, jdbcType=DATE} and birthday <= #{endDate, jdbcType=DATE}</select>...原创 2019-06-24 17:42:30 · 1098 阅读 · 0 评论 -
mybatis批量更新的两种方式
方式一、<update id="updateBatch" parameterType="List"> update USER <trim prefix="set" suffixOverrides=","> <trim prefix="USER_NAME = case" suffix="end,"> <foreach collection=...原创 2019-06-24 17:18:34 · 968 阅读 · 0 评论 -
mybatis批量删除及如何传入集合参数
传入的参数可以是List也可以是Array数组,ParameterType都写List就可以collection="userGuids"也可以写成collection=“array”<delete id="remove" parameterType="java.util.List"> delete from AFFAIRS_AGT_ACTINFO where ACTINFO_G...原创 2019-06-24 17:03:33 · 2089 阅读 · 0 评论 -
mybatis批量插入Oracle与Mysql的方式
方法一、版本允许的情况下推荐使用方法二<insert id="saveBatch" parameterType="java.util.List"> insert into USER(USER_GUID, USER_NAME) <foreach collection="users" item="user" separator="union all"> select ...原创 2019-06-24 16:59:46 · 234 阅读 · 0 评论 -
mybatis的Mapper类如何传入多个参数到Mapper.xml中
mybatis一个方法传多个参数使用@Param注解,且select语句不能使用 parameterTypeMapper.java类方法编写如下:public List<String> listData(String type, Integer num);2.Mapper.xml关于此方法的sql编写如下:<select id="listData" resultTy...原创 2019-06-20 00:16:55 · 3823 阅读 · 0 评论 -
MyBatis抛出异常UnsupportedOperationException
关于mybatis返回集合类型的正确书写方式Mapper.java类方法编写如下:public List<String> listData(String type); //根据类型获取id集合2.Mapper.xml关于此方法的sql编写如下:<select id="listData" parameterType="String" resultType="java....原创 2019-06-20 00:10:02 · 7097 阅读 · 0 评论 -
springboot使用tk.mybatis调用insert方法时报如下错
Error invoking SqlProvider method (tk.mybatis.mapper.provider.base.BaseInsertProvider.dynamicSQL)本人使用的是springboot2.0.3,tk.mybatis.mapper3.4.6,在调用insert方法时报错如下:org.mybatis.spring.MyBatisSystemExcepti...原创 2019-05-06 15:06:10 · 1645 阅读 · 0 评论