mybatis怎么知道dao层调用了实体.xml里面哪个方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis怎么知道dao层调用了实体.xml里面哪个方法相关的知识,希望对你有一定的参考价值。

.xml有namespace,里面有id
用户调用dao的接口取得函数名。
mybatis通过mapper映射,扫描得到namespace和id
dao的函数名和id一匹配,继而可以执行此函数(dao)
参考技术A 分层没有一定之规,看架构师的设计了。不过按照我的理解业务逻辑应该在service这一层,service下面是dao层,不要把逻辑写到dao层里面去。追问

是的呀,service.impl调用dao层的接口,dao层没有实现类,但是我不知道他执行的是哪一段sql语句呀,因为跟ibatis不一样,没有指定对应的Sql方法名。

本回答被提问者和网友采纳

Mybatis Generator代码自动生成(实体类dao层映射文件)

写了一段时间增删改查有点厌烦,自己找了下网上的例子鼓捣了下自动生成。

首先得有一个配置文件:

generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
    <classPathEntry  location="D: epositorycomoracleojdbc611.2.0.4.0ojdbc6-11.2.0.4.0.jar"/>
    <context id="DB2Tables"  targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@xx.xxx.xxx.xx:端口/服务名" userId="用户名" password="密码">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetPackage="com.名字.名字.generatordemo.domain" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成映射文件的包名和位置-->
        <sqlMapGenerator targetPackage="resources.mybatis.generatordemo" targetProject="src/main">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.名字.名字.generatordemo.dao" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        <table tableName="t_sys_user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>
</generatorConfiguration>

 

在有备注的位置是需要修改的地方。

然后还得有mybatis-generator-core-1.3.5.jar版本自己选,然后把配置文件和这个jar放在项目目录下或者自己找个专门的文件夹放代码自动生成。

然后在cmd命令窗口切换到对应目录或者自己的文件夹下执行该命令:

java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
刷新项目后可看到要指定生成的文件已经自动生成在对应目录下。

 






































以上是关于mybatis怎么知道dao层调用了实体.xml里面哪个方法的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis Generator生成Mybatis Dao接口层*Mapper.xml以及对应实体类

使用MyBatis Generator自动生成实体mapper和dao层

spring和mybatis整合怎么将事务在service层关闭?使用xml配置

spring和mybatis整合怎么将事务在service层关闭?使用xml配置

攻占SSM之手写Mybatis的xml实现Dao层接口

MyBatis xml和dao层接口组合使用