相关疑难解决方法(0)

在多个mapper.xml中重用MyBatis ResultMap

我想重新使用来自不同*Mapper.xml文件的特定文件,这些文件都以某种方式读取相同的对象.

我有一个名为Project的数据库表,我创建了以下resultMap:

<resultMap id="ProjectMap" type="com.model.Project">
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="name" jdbcType="VARCHAR" property="name" />
    <result column="client_prj_no" jdbcType="VARCHAR" property="clientPrjNo" />
    <result column="notes" jdbcType="VARCHAR" property="notes" />
    <result column="start_date" jdbcType="TIMESTAMP" property="startDate" />
    ...
<resultMap>
Run Code Online (Sandbox Code Playgroud)

它在ProjectMapper.xml中工作得很好,但是,现在我想创建一个ClientWithProjectsMapper.xml,我想要SELECT*FROM CLIENT,PROJECT,其中PROJECT.CLIENT_ID = CLIENT.ID并且Client对象返回一个List对象.换句话说,我想用一个SQL获取ClientWithProjects.

在我的映射中,我想重用我在ProjectMapper.xml中定义的ProjectMap(没有复制/粘贴),但我不知道如何实现这一点.

我可以将ProjectMap分解为一个单独的文件,但我没有在MyBatis中找到#include其他文件的任何工具.

关于如何做到这一点的任何想法?(我正在使用Maven,是否有任何插件可以过滤寻找#include等文件,并将文件内容直接包含在正在处理的文件中?).

谢谢.

-AP_

refactoring resultset mappers mybatis

17
推荐指数
1
解决办法
2万
查看次数

MyBatis String作为参数

我想在MyBatis中为Select语句使用String参数.我的mapper.xml:

<select id="selectAll" parameterType="String" resultMap="fastXMLResultMap">
        SELECT CREATIONDATE, DOCUMENTID, TITEL, REGTITEL, INFORCEDATE, DOCTYPE
        FROM #{databBaseTable}
</select>
Run Code Online (Sandbox Code Playgroud)

和调用功能:

public List<FastXMLObject> selectAll(String databBaseTable) {

    SqlSession session = sqlSessionFactory.openSession();

    System.out.println("Table: "+databBaseTable);

    try {
        List<FastXMLObject> list = session.selectList("FastXMLObject.selectAll",databBaseTable);
        return list;
    } finally {
        session.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

字符串dataBaseTable是我的数据库的表的名称(谁会想到)因为我想从verious表中动态获取数据.

但不幸的是,这不起作用:错误:ORA-00903:UngültigerTabellenname(表名无效)但它不是.当我打印出"databBaseTable"的值时,它就是表的确切名称.当我将表的名称写入我的mapper.xml而没有变量时,它可以工作.我做错了什么?

java database string mybatis

8
推荐指数
3
解决办法
4万
查看次数

Ibatis/MyBatis动态选择,无需创建任何Pojo/Mapper

有没有办法使用Ibatis/MyBatis动态选择/更新/删除?

当我说"动态"时,它意味着我根本不想创建任何POJO/DataMapper.

任何URL示例都会受到欢迎.

ibatis mybatis

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

mybatis ×3

database ×1

ibatis ×1

java ×1

mappers ×1

refactoring ×1

resultset ×1

string ×1