问题标签 [mybatis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 当 id/uuid as 存储为二进制时,如何在使用 MyBatis 插入后返回密钥?
我们目前在我们的数据库中有触发器,可以为我插入的每条记录分发 uuid。当我使用 mybatis 插入记录时,我想取回该 uuid 而不是已插入的行数。
从上一篇文章中我读到我可以做到
但是我们将我们的 uuid 存储为二进制文件,所以我想从插入中获取非二进制 uuid。当我们插入东西时,我们使用像'uuid2bin'和'bin2uuid'这样的函数,所以我希望使用这样的函数从数据库(MySQL)中检索新生成的uuid。
关于如何取回新生成的 uuid 的任何建议?
java - 如何使用spring mybatis将对象的Arraylist传递给过程
我想传递一个对象数组列表,例如
SomeObject有两个属性key和value。
在数据库方面,我有一个表类型的变量,即
现在我想将我的 SomeObject 类型的每个对象从listOFSomeObject映射到 tableTypeVariable。
任何机构都可以帮助我吗?
java - Mybatis如何配置log4j来打印我的SQL
我的项目是用 SpringMVC+Mybatis+EXTJS4 搭建的。这是我的配置:
但它不会在控制台中打印 SQL,任何人都可以帮助我吗?非常感谢
eclipse - Red5中配置mybatis-spring的问题
全部,
我正在尝试在 Red5 服务器下运行的应用程序中配置 MyBatis。我创建了一个额外的 spring 配置文件,在该文件red5-ibatis.xml
下WEB-INF
配置了这些 bean(如 mybatis-spring 用户指南中所述):
当我运行部署了应用程序的服务器时,出现以下异常:
我不确定,但看起来 Spring 没有看到SqlSessionFactoryBean
实现FactoryBean
接口,因此找不到将其转换为的方法SqlSessionFactory
?
无论如何,任何想法如何解决它?
mybatis - MyBatis & RefCursor 参数
目前正在从 iBatis 升级到 myBatis。在 ibatis 中我们会有一个这样的 sql map
我想充分利用 myBatis 提供的功能(例如不需要实现映射器并避免使用不推荐使用的功能,例如 parameterMap),但我遇到了一些问题。我一直在尝试设置返回属性时遇到错误,所以我不得不将我的 resultSet 对象包装在一个包装器对象中,这是我想避免的
ConstraintHierarchyLevel 类
映射器.xml
我尝试了另一种解决方案,但未成功。在这个解决方案中,我使用了 param 注释
映射器.java
我使用与上面相同的 resultMap 但使用不同的选择块
映射器.xml
运行此程序时,我已将 MapperMethod 类调试到 execute 方法,并且 Object 参数从结果集中获取正确的数据,但是由于这没有放入发送的参数(列表)中,因此不会返回这些值。当使用对象包装器运行第一个方法时,对象被放置在向下发送的参数中,因此是可检索的。
谢谢
sql - (如何)我可以在 SQL 查询中使用 MyBatis 安全且与 DB 无关的“LIKE”吗?
在MyBatis中,您标记应该将参数插入 SQL 的位置,如下所示:
SELECT * FROM Person WHERE id = #{id}
此语法激活适当的转义等,以避免 SQL 注入攻击等。如果您有受信任的输入并且想要跳过转义,则可以逐字插入参数:
SELECT * FROM {tableName} WHERE id = #{id}
现在,我想对不安全的输入进行 LIKE 搜索,所以我想做的是:
SELECT * FROM Person WHERE name LIKE #{beginningOfName} || '%'
然而不幸的是,重要的数据库服务器不支持||
连接的语法:
MSSQL - 通过使用“+”运算符而不是“||”来打破标准。
...
MySQL - 通过重新定义严重违反标准 || 意思是或。
所以,我可以做
SELECT * FROM Person WHERE name LIKE CONCAT(#{beginningOfName}, '%')
在这种情况下,仅限于 MySQL,或者我可以这样做
SELECT * FROM Person WHERE name LIKE '{beginningOfName}%'
并且必须自己清理输入。
有没有更优雅的解决方案?
java - MyBatis 3.0.5 和映射器加载问题
我正在使用 MyBatis 3.0.5,我在将映射器作为资源加载时遇到问题。我在 Windows 7 64 上,我使用 Eclipse Indigo 64bit 和 jdk7 64。MyBatis 在 Grizzly Web 容器(其中使用 jersey 框架实现的休息服务)独立实例中初始化。
我有相同的映射器仅用于测试,第一个已加载,第二个不起作用。错误:
对不起我的英语不好。
解决方案: Maven 项目需要资源到 src/main/resources 和 src/test/resources 进行测试。所以解决方案是将xml映射器放入这些文件夹中。
jersey - ibatis / mybatis 缓存在一个安静的 web 服务中
我在 Jax-RS (Jersey) 宁静的网络应用程序中使用 mybatis。所以自动地,我没有会话或状态管理。
问题是如何使用 mybatis 的缓存功能?
java - Mybatis 3.0.5 嵌套集合映射示例
我正在研究 MyBatis 3.0.5 的映射工具。该数据库是运行嵌入式模式的 H2 (1.3.160)。在用户手册的帮助下,我得到了简单的部分。但是我很难映射Set
使用 aHashMap
作为后备存储的 a。
这是自定义集合的 Java 代码,该集合具有自定义集作为字段(为简洁起见进行了简化)
这是CustomSet
代码(再次,简化)
映射界面如下:
这是调用 Mybatis 框架的代码:
到目前为止,这是我可以想出的映射 XML:
通过各种迭代,我得到了“太多结果”错误、一些其他错误或什么都没有(从映射器调用返回 null)但从来没有我需要的结果。SQL 代码本身可以正常工作,如果我使用简单的 select 语句请求 List,我会返回行和 ArrayList。我遇到的问题是正确填充了嵌套的集合对象。
我已多次阅读手册,搜索示例,但我无法为此目的提出正确的映射 XML。如果有人可以帮助我或将我指向可以提供帮助的来源,我将不胜感激。
提前感谢所有帮助。
java - Mybatis 3.0.5 多输入的插入/更新语句映射
也许我遗漏了一些明显的东西,但我无法成功执行简单的映射插入语句。
使用以下界面
和以下 XML 映射
和这段代码
我得到以下调试输出:
后跟 SQL 异常(不能在id
列中输入 null)。
所以唯一正确传入的值是额外提供的字符串。我已经验证了字段名称是正确的,并且此时对象不为空,并且字段已正确填充。
我也尝试使用parameterType="CustomItem"
代替,parameterType="map"
但结果没有改变。
如果有人能让我知道我在这里缺少什么,我将不胜感激。
提前致谢。
PS:我也遇到了与插入语句相同的问题。