MyBatis
文章平均质量分 61
命运的左岸
日拱一卒,功不唐捐
展开
-
Mapper.java 与 Mapper.xml 如何对应
Mapper.java 与 Mapper.xml 如何对应问题描述:某项目中检索 HbPkgEntityMapper.java 对应的 .xml 时有两个同名不同包的.xml 而Mapper.xml文件中 namespace 均为该 mapper.java 的路径,无法确认此时调用的是哪个对应的Mapper.xmlspring-mybatis.xml原创 2018-01-25 22:21:41 · 6548 阅读 · 0 评论 -
为什么运行接口无返回值
问题场景:与同事共同开发一个项目,调用其开发的接口,未接收到返回值问题分析:将SQL复制添加指定的查询条件,SQL无误,问题定位到 MyBatis 语法上问题解决:1.select 字段部分使用*,导致 表中该字段与PO类之间无法映射select * 改为 select 具体的字段2.参数类型不正确 parameterType参数...原创 2017-10-02 18:08:01 · 4539 阅读 · 2 评论 -
#{} 与 ${}
#{} 与 ${}相同:均为 MyBatis xml 文件中的占位符不同对比内容${}#{}含义仅仅为一个纯碎的 string 替换,在动态 SQL 解析阶段将会进行变量替换解析为一个 JDBC 预编译语句(prepared statement)的参数标记符,一个 #{ } 被解析为一个参数占位符解析结果不会当做字符串处理,是什么就是什么能够把str...原创 2018-11-30 22:57:35 · 3255 阅读 · 2 评论 -
xxxList not found
问题:MyBatis接口中以list作为参数类型,在mapper.xml中以改list的名称进行判定,报错总结:1.[table]|类型|List|Array|Map||XML中接收值|list|array|封装的key||参数类型|java.util.List|java.util.Array|java.util.Map|[/table]2.使用map传递参...原创 2015-05-20 08:51:37 · 501 阅读 · 0 评论 -
Result Maps collection already contains value for mapper.XXX
问题:运行单元测试类时报错原因:应该用resultMap来接收返回值,却用了resultType总结:1.当返回值为List泛型时,使用resultType = "XXX" 的类型2.当XXX 是PO类,且映射不完全,即表中operate_time,po中对应的映射字段为operateTime 使用resultMap [code="java"]public...原创 2015-05-14 08:53:08 · 537 阅读 · 0 评论 -
常用mapper方法
1.insert,表中有时间字段,且字段值为当前时间,可以在mapper中完成,不用赋值[code="xml"] INSERT INTOid,time,#{id},NOW(),[/code]说明:(1)keyProperty 指向表中主键(2)selectKey的作用为了查询主键值,作为下一个插入的ID值...原创 2015-05-11 19:49:18 · 292 阅读 · 0 评论 -
确认方法没有错误,但查询结果不正确
问题:在调试某web工程时,发现一个po.getXXX()没有执行,Debug 调试,该XXX属性为空,但数据表中有值,且没有任何报错解决:1.重新执行单元测试类,发现问题确实存在,查不到值2.检查mapper.xml 没有看到问题3.重新检查,发现是 查询select xx..的问题,那个属性字段,没有在select范围内注意:1.po类只是映...原创 2015-05-07 09:37:44 · 250 阅读 · 0 评论 -
语法错误,查询条件中带有多余的单引号
场景:列表检索功能,查询条件中带有英文单引号,点击查询,系统异常原因:字符串类型匹配时,检索条件默认被单引号括起来,若条件中带有单引号,会引起单引号匹配错误的问题如:[code="sql"]select * from test where name = 'java'sname';[/code]解决:1.使用转译判断查询条件中是否有单引号,若有替换改该...原创 2015-05-07 09:27:49 · 444 阅读 · 0 评论 -
MyBatis的动态SQL详解
[size=medium]MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。MyBatis中用于实现动态SQL的元素主要有:[list][*]if[*]choose(when,otherwise)[*]trim[*]where[*]set[*]foreach[/list]if就是简单的条件判断,利用if...原创 2015-04-29 19:21:36 · 85 阅读 · 0 评论 -
MyBatis中resultType和resultMap的区别
[size=medium][align=left]MyBatis中关于resultType和resultMap的区别共同:MyBatis中在查询进行select映射的时候,返回类型为resultType、resultMap区别:1.resultType是直接表示返回类型的(对应着我们的model对象中的实体)2.resultMap则是对外部ResultMap的引用(提前定义...原创 2015-04-29 15:28:34 · 672 阅读 · 0 评论 -
There is no getter for property named '**' in 'class java.lang.String
报错原因:1.用mybatis查询时,传入一个字符串传参数,且进行判断时,会报异常2.mapper.xml 中id值有重复的(出现原因:拷贝上面的实现,修改下参数或SQL,忘记ID值唯一的修改了)[code="java"]There is no getter for property named 'moduleCode' in 'class java.lang.String ...原创 2015-04-29 13:48:14 · 407 阅读 · 0 评论 -
mybatis中的#和$的区别?
[size=medium]1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值...原创 2015-04-27 09:24:40 · 77 阅读 · 0 评论 -
XML - insert
XML - insert属性属性描述id命名空间中的唯一标识符,可被用来代表这条语句。parameterType将要传入语句的参数的完全限定类名或别名。这个属性是可选的,因为 MyBatis 可以通过 TypeHandler 推断出具体传入语句的参数,默认值为 unset。parameterMap这是引用外部 parameterMap 的已经被废弃的方法...原创 2018-11-25 14:21:52 · 6231 阅读 · 0 评论 -
获取项目中文件路径
获取项目中文件路径Class.getResource 与 ClassLoader.getResource区别方式入参返回Class.getResource()文件路径参数,绝对路径或相对路径(相对于该class类)URLClassLoader.getSystemResource()文件路径参数,相对路径(相对于项目的包的根目录来解析路径的)URL...原创 2018-10-02 18:23:09 · 4491 阅读 · 0 评论 -
POJO PO BO DO DTO VO 区别与联系
POJO PO BO DO DTO VO概述缩写全称中文功能说明POJOplain ordinary java object无规则简单java对象中间对象,与其他对象转换POpersistent object持久对象数据对象对应数据库中的entityBObusiness object业务对象封装业务逻辑对象VOvalue ...原创 2018-10-02 16:23:27 · 1198 阅读 · 1 评论 -
MyBatis示例
MyBatis示例基本示例环境准备 jdk : 1.8.0MyEclipseMySQLMyBatis-3.4.6.jar 新建JavaWeb Project 命名:mybatis导入JAR包或添加POM.xml中添加依赖MyBatis_config.xml<?xml version="1.0" encoding=&a原创 2018-09-10 23:42:00 · 567 阅读 · 0 评论 -
JDBC示例
JDBC方式连接MySQL示例准备建表mysql> show databases ;+--------------------+| Database |+--------------------+| information_schema || mybatis || mysql || perf...原创 2018-09-02 20:51:36 · 465 阅读 · 0 评论 -
深入浅出MyBatis技术原理与实战
MyBatis概述《深入浅出MyBatis技术原理与实战》读书笔记《MyBatis技术内幕》读书笔记数据库的连接方式JDBC : Java Data Base Connectivity原创 2018-09-02 17:46:04 · 307 阅读 · 0 评论 -
can not find xxx.xxx
问题描述:单元测试一个已离职同事的接口,运行时提示 po 类中的某个属性字段的映射找不到问题分析:根据描述的异常信息,在类中找到了该属性,set get 均有,mapper.xml 中映射也存在检查代码版本,历史版本生产环境运行正常,于是对比此次新增的代码定位到了问题所在,po 类中 描述用户类型的字段,用的 isXXXpo 类中 又定义了常...原创 2017-10-03 10:20:10 · 885 阅读 · 0 评论