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配置