导航:首页 > 版本升级 > mybatis配置文件绝对路径

mybatis配置文件绝对路径

发布时间:2024-04-09 17:58:21

1. 通过generator写的mybatis怎么获取新增是的id

在MBG中,最主要也最重要的就是XML配置文件,因此本篇文章主要的内容就是XML配置。

这里按照配置的顺序对配置逐个讲解,更细的内容可以配合中文文档参照。

1. 配置文件头
<?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">
使用最新版的MBG需要使用上面的xml头,配置文件必须包含上面的DOCTYPE。

2. 根节点<generatorConfiguration>
generatorConfiguration节点没有任何属性,直接写节点即可,如下:

<generatorConfiguration>
<!-- 具体配置内容 -->
</generatorConfiguration>
3. <generatorConfiguration>子元素
从这段开始,就是配置的主要内容,这些配置都是generatorConfiguration元素的子元素。

包含以下子元素(有严格的顺序):

<properties> (0个或1个)
<classPathEntry> (0个或多个)
<context> (1个或多个)
3.1 <properties> 元素
这个元素用来指定外部的属性元素,不是必须的元素。

元素用于指定一个需要在配置中解析使用的外部属性文件,引入属性文件后,可以在配置中使用 ${property}这种形式的引用,通过这种方式引用属性文件中的属性值。 对于后面需要配置的**jdbc信息**和targetProject属性会很有用。

这个属性可以通过resource或者url来指定属性文件的位置,这两个属性只能使用其中一个来指定,同时出现会报错。

resource:指定**classpath**下的属性文件,使用类似com/myproject/generatorConfig.properties这样的属性值。
url:可以指定文件系统上的特定位置,例如file:///C:/myfolder/generatorConfig.properties
3.2 <classPathEntry> 元素
这个元素可以0或多个,不受限制。

这个元素的作用是将MBG运行时需要用到的jar包(或zip格式)添加到**classpath**下。

最常见的用法是,当**classpath**下面**没有**JDBC驱动的时候,我们通常通过这个属性指定驱动的路径,例如:

<classPathEntry location="E:\mysql\mysql-connector-java-5.1.29.jar"/>
如果需要用到其他的jar包,也可以这么配置,例如如果你开发了一个MBG的插件,你就可以通过这种方式加入到**classpath**

这里注意上面重点强调的 没有,一般在项目中使用的时候,**classpath**下面都有JDBC驱动,因此从项目中启动的时候不需要配置该项。

建议:由于该参数使用了绝对路径,因此不利用在不同电脑上通用,因此建议最好把需要的jar包放到项目的**classpath**下,避免每个人都得单独配置路径。

3.3 <context> 元素
在MBG的配置中,至少需要有一个<context>元素。

<context>元素用于指定生成一组对象的环境。例如指定要连接的数据库,要生成对象的类型和要处理的数据库中的表。运行MBG的时候还可以指定要运行的<context>。

该元素只有一个**必选属性**id,用来唯一确定一个<context>元素,该id属性可以在运行MBG的使用。

此外还有几个**可选属性**:

defaultModelType:**这个属性很重要**,这个属性定义了MBG如何生成**实体类**。
这个属性有以下可选值:

conditional:*这是默认值*,这个模型和下面的hierarchical类似,除了如果那个单独的类将只包含一个字段,将不会生成一个单独的类。 因此,如果一个表的主键只有一个字段,那么不会为该字段生成单独的实体类,会将该字段合并到基本实体类中。
flat:该模型为每一张表只生成一个实体类。这个实体类包含表中的所有字段。**这种模型最简单,推荐使用。**
hierarchical:如果表有主键,那么该模型会产生一个单独的主键实体类,如果表还有BLOB字段, 则会为表生成一个包含所有BLOB字段的单独的实体类,然后为所有其他的字段生成一个单独的实体类。 MBG会在所有生成的实体类之间维护一个继承关系。
targetRuntime:此属性用于指定生成的代码的运行时环境。该属性支持以下可选值:

MyBatis3:*这是默认值*
MyBatis3Simple
Ibatis2Java2
Ibatis2Java5 一般情况下使用默认值即可,有关这些值的具体作用以及区别请查看中文文档的详细内容。
introspectedColumnImpl:该参数可以指定扩展org.mybatis.generator.api.IntrospectedColumn该类的实现类。该属性的作用可以查看扩展MyBatis Generator。
一般情况下,我们使用如下的配置即可:

<context id="Mysql" defaultModelType="flat">
如果你希望不生成和Example查询有关的内容,那么可以按照如下进行配置:

<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
使用MyBatis3Simple可以避免在后面的<table>中逐个进行配置(后面会提到)。

MBG配置中的其他几个元素,基本上都是<context>的子元素,这些子元素(有严格的配置顺序)包括:

<property> (0个或多个)
<plugin> (0个或多个)
<commentGenerator> (0个或1个)
<jdbcConnection> (1个)
<javaTypeResolver> (0个或1个)
<javaModelGenerator> (1个)
<sqlMapGenerator> (0个或1个)
<javaClientGenerator> (0个或1个)
<table> (1个或多个)
其中<property>属性比较特殊,后面讲解的时候都会和父元素一起进行讲解。在讲解<property>属性前,我们先看看**什么是分隔符?**。

这里通过一个例子说明。假设在Mysql数据库中有一个表名为user info,你没有看错,中间是一个空格,这种情况下如果写出select * from user info这样的语句,肯定是要报错的,在Mysql中的时候我们一般会写成如下的样子:

select * from `user info`
这里的使用的**反单引号(`)**就是**分隔符**,**分隔符**可以用于**表名**或者**列名**。

下面继续看<property>支持的属性:

autoDelimitKeywords
beginningDelimiter
endingDelimiter
javaFileEncoding
javaFormatter
xmlFormatter
由于这些属性比较重要,这里一一讲解。

首先是autoDelimitKeywords,当表名或者字段名为SQL关键字的时候,可以设置该属性为true,MBG会自动给表名或字段名添加**分隔符**。

然后这里继续上面的例子来讲beginningDelimiter和endingDelimiter属性。
由于beginningDelimiter和endingDelimiter的默认值为双引号("),在Mysql中不能这么写,所以还要将这两个默认值改为**反单引号(`)**,配置如下:

<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
属性javaFileEncoding设置要使用的Java文件的编码,默认使用当前平台的编码,只有当生产的编码需要特殊指定时才需要使用,一般用不到。

最后两个javaFormatter和xmlFormatter属性**可能会**很有用,如果你想使用模板来定制生成的java文件和xml文件的样式,你可以通过指定这两个属性的值来实现。

接下来分节对其他的子元素逐个进行介绍。

3.3.1 <plugin> 元素

该元素可以配置0个或者多个,不受限制。

<plugin>元素用来定义一个插件。插件用于扩展或修改通过MyBatis Generator (MBG)代码生成器生成的代码。

插件将按在配置中配置的顺序执行。

有关插件的详细信息可以参考开发插件和提供的插件了解更多。

3.3.2 <commentGenerator> 元素

该元素最多可以配置1个。

这个元素非常有用,相信很多人都有过这样的需求,就是希望MBG生成的代码中可以包含**注释信息**,具体就是生成表或字段的备注信息。

使用这个元素就能很简单的实现我们想要的功能。这里先介绍该元素,介绍完后会举例如何扩展实现该功能。

该元素有一个可选属性type,可以指定用户的实现类,该类需要实现org.mybatis.generator.api.CommentGenerator接口。而且必有一个默认的构造方法。这个属性接收默认的特殊值DEFAULT,会使用默认的实现类org.mybatis.generator.internal.DefaultCommentGenerator。

默认的实现类中提供了两个可选属性,需要通过<property>属性进行配置。

suppressAllComments:**阻止**生成注释,默认为false
suppressDate:**阻止**生成的注释包含时间戳,默认为false
一般情况下由于MBG生成的注释信息没有任何价值,而且有时间戳的情况下每次生成的注释都不一样,使用**版本控制**的时候每次都会提交,因而一般情况下我们都会屏蔽注释信息,可以如下配置:

<commentGenerator>
<property name="suppressAllComments" value="true"/>
<property name="suppressDate" value="true"/>
</commentGenerator>
接下来我们简单举例实现生成包含表字段注释信息的注释

因为系统提供了一个默认的实现类,所以对我们来说,自己实现一个会很容易,最简单的方法就是复制默认实现类代码到一个新的文件中,修改类名如MyCommentGenerator,在你自己的实现类中,你可以选择是否继续支持上面的两个属性,你还可以增加对其他属性的支持。

我们通过下面一个方法的修改来了解,其他几个方法请自行修改(写本章的时候我也没有完全实现该类,所以不提供完整源码了):

@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
if (introspectedColumn.getRemarks() != null && !introspectedColumn.getRemarks().equals("")) {
field.addJavaDocLine("/**");
field.addJavaDocLine(" * " + introspectedColumn.getRemarks());
addJavadocTag(field, false);
field.addJavaDocLine(" */");
}
}
这个方法是给字段添加注释信息的,其中IntrospectedColumn包含了字段的完整信息,通过getRemarks方法可以获取字段的注释信息。上面这个方法修改起来还是很容易的。除了字段的注释外还有Getter和Setter,以及类的注释。此外还有生成XML的注释,大家可以根据默认的实现进行修改。

完成我们自己的实现类后,我们还需要做如下配置:

<commentGenerator type="com.github.abel533.mybatis.generator.MyCommentGenerator"/>
3.3.3 <jdbcConnection> 元素

<jdbcConnection>用于指定数据库连接信息,该元素必选,并且只能有一个。

配置该元素只需要注意如果JDBC驱动不在**classpath**下,就需要通过<classPathEntry>元素引入jar包,这里**推荐**将jar包放到**classpath**下。

该元素有两个必选属性:

driverClass:访问数据库的JDBC驱动程序的完全限定类名
connectionURL:访问数据库的JDBC连接URL
该元素还有两个可选属性:

userId:访问数据库的用户ID
password:访问数据库的密码
此外该元素还可以接受多个<property>子元素,这里配置的<property>属性都会添加到JDBC驱动的属性中。

这个元素配置起来最容易,这里举个简单例子:

<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test"
userId="root"
password="">
</jdbcConnection>
3.3.4 <javaTypeResolver> 元素

该元素最多可以配置一个。

这个元素的配置用来指定JDBC类型和Java类型如何转换。

该元素提供了一个可选的属性type,和<commentGenerator>比较类型,提供了默认的实现DEFAULT,一般情况下使用默认即可,需要特殊处理的情况可以通过其他元素配置来解决,不建议修改该属性。

该属性还有一个可以配置的<property>元素。

可以配置的属性为forceBigDecimals,该属性可以控制是否强制DECIMAL和NUMERIC类型的字段转换为Java类型的java.math.BigDecimal,默认值为false,一般不需要配置。

默认情况下的转换规则为:

如果精度>0或者长度>18,就会使用java.math.BigDecimal
如果精度=0并且10<=长度<=18,就会使用java.lang.Long
如果精度=0并且5<=长度<=9,就会使用java.lang.Integer
如果精度=0并且长度<5,就会使用java.lang.Short
如果设置为true,那么一定会使用java.math.BigDecimal,配置示例如下:

<javaTypeResolver >
<property name="forceBigDecimals" value="true" />
</javaTypeResolver>
3.3.5 <javaModelGenerator> 元素

该元素必须配置一个,并且最多一个。

该元素用来控制生成的实体类,根据<context>中配置的defaultModelType,一个表可能会对应生成多个不同的实体类。一个表对应多个类实际上并不方便,所以前面也推荐使用flat,这种情况下一个表对应一个实体类。

该元素只有两个属性,都是必选的。

targetPackage:生成实体类存放的包名,一般就是放在该包下。实际还会受到其他配置的影响(<table>中会提到)。
targetProject:指定目标项目路径,使用的是文件系统的绝对路径。
该元素支持以下几个<property>子元素属性:

constructorBased:该属性只对MyBatis3有效,如果true就会使用构造方法入参,如果false就会使用setter方式。默认为false。
enableSubPackages:如果true,MBG会根据catalog和schema来生成子包。如果false就会直接用targetPackage属性。默认为false。
immutable:该属性用来配置实体类属性是否可变,如果设置为true,那么constructorBased不管设置成什么,都会使用构造方法入参,并且不会生成setter方法。如果为false,实体类属性就可以改变。默认为false。
rootClass:设置所有实体类的基类。如果设置,需要使用类的全限定名称。并且如果MBG能够加载rootClass,那么MBG不会覆盖和父类中完全匹配的属性。匹配规则:

属性名完全相同
属性类型相同
属性有getter方法
属性有setter方法
trimStrings:是否对数据库查询结果进行trim操作,如果设置为true就会生成类似这样public void setUsername(String username) {this.username = username == null ? null : username.trim();}的setter方法。默认值为false。
配置示例如下:

<javaModelGenerator targetPackage="test.model" targetProject="E:\MyProject\src\main\java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
3.3.6 <sqlMapGenerator> 元素

该元素可选,最多配置一个。但是有如下两种必选的特殊情况:

如果targetRuntime目标是**iBATIS2**,该元素必须配置一个。
如果targetRuntime目标是**MyBatis3**,只有当<javaClientGenerator>需要XML时,该元素必须配置一个。 如果没有配置<javaClientGenerator>,则使用以下的规则:
如果指定了一个<sqlMapGenerator>,那么MBG将只生成XML的SQL映射文件和实体类。
如果没有指定<sqlMapGenerator>,那么MBG将只生成实体类。
该元素只有两个属性(和前面提过的<javaModelGenerator>的属性含义一样),都是必选的。

targetPackage:生成实体类存放的包名,一般就是放在该包下。实际还会受到其他配置的影响(<table>中会提到)。
targetProject:指定目标项目路径,使用的是文件系统的绝对路径。
该元素支持<property>子元素,只有一个可以配置的属性:

enableSubPackages:如果true,MBG会根据catalog和schema来生成子包。如果false就会直接用targetPackage属性。默认为false。
配置示例:

<sqlMapGenerator targetPackage="test.xml" targetProject="E:\MyProject\src\main\resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
3.3.7 <javaClientGenerator> 元素

该元素可选,最多配置一个。

如果不配置该元素,就不会生成Mapper接口。

该元素有3个必选属性:

type:该属性用于选择一个预定义的客户端代码(可以理解为Mapper接口)生成器,用户可以自定义实现,需要继承org.mybatis.generator.codegen.AbstractJavaClientGenerator类,必选有一个默认的构造方法。 该属性提供了以下预定的代码生成器,首先根据<context>的targetRuntime分成三类:
MyBatis3:
ANNOTATEDMAPPER:基于注解的Mapper接口,不会有对应的XML映射文件
MIXEDMAPPER:XML和注解的混合形式,(上面这种情况中的)SqlProvider注解方法会被XML替代。
XMLMAPPER:所有的方法都在XML中,接口调用依赖XML文件。
MyBatis3Simple:
ANNOTATEDMAPPER:基于注解的Mapper接口,不会有对应的XML映射文件
XMLMAPPER:所有的方法都在XML中,接口调用依赖XML文件。
Ibatis2Java2或**Ibatis2Java5**:
IBATIS:生成的对象符合iBATIS的DAO框架(不建议使用)。
GENERIC-CI:生成的对象将只依赖于SqlMapClient,通过构造方法注入。
GENERIC-SI:生成的对象将只依赖于SqlMapClient,通过setter方法注入。
SPRING:生成的对象符合Spring的DAO接口
targetPackage:生成实体类存放的包名,一般就是放在该包下。实际还会受到其他配置的影响(<table>中会提到)。
targetProject:指定目标项目路径,使用的是文件系统的绝对路径。
该元素还有一个可选属性:

implementationPackage:如果指定了该属性,实现类就会生成在这个包中。
该元素支持<property>子元素设置的属性:

enableSubPackages
exampleMethodVisibility
methodNameCalculator
rootInterface
useLegacyBuilder
这几个属性不太常用,具体作用请看完整的文档,这里对rootInterface做个简单介绍。

rootInterface用于指定一个所有生成的接口都继承的父接口。 这个值可以通过<table>配置的rootInterface属性覆盖。

这个属性对于通用Mapper来说,可以让生成的所有接口都继承该接口。

2. mybatis-config.xml,应该放在哪个目录下

mybatis-config.xml文件,是应该放在:
1、手工创建的“src/main/resources”目录;
2、“WEB-INF”目录;

3. SpringBoot鏁村悎MyBatisPlus閰嶇疆鍔ㄦ佹暟鎹婧

MybatisPlus鐗规

蹇閫熷紑濮

鍒濆嬪寲娴嬭瘯鏁版嵁琛锛

鐖跺伐绋嬩緷璧

璇ュ伐绋嬬敤浜庝緷璧栫$悊锛宲om濡備笅锛

鍒涘缓MyBaitsPlus宸ョ▼

渚濊禆濡備笅锛

properties閰嶇疆

鍦ㄨ繖閲岄厤缃鏁版嵁搴撹繛鎺ワ紝浠ュ強鏁版嵁杩炴帴姹犱笌mybatisplus鐨勯厤缃绛

甯歌勫炲垹鏀规煡瀹炵幇

鍒涘缓瀹炰綋绫伙細

璇lombok鎻掍欢鐪佸幓getset鏂规硶銆

鍒涘缓UserMapper鎺ュ彛锛屽苟涓斿疄鐜癇aseMapper<User>杩欓噷鎴戜滑鎸囧畾瀹炰綋绫讳负user鍙鐩存帴浣跨敤鎺ュ彛涓鐨勬柟娉曘

UserMapper.xml锛屽備笅锛

鎵ц孲QL锛

鍦⊿pringBoot涓浣跨敤MybatisPlus鍒嗛〉闇瑕佹敞鍏Bean锛屽苟涓斿湪鍚鍔ㄧ被涓婁娇鐢ˊMapperScan("com.simple.spring.boot.mapper")鎵鎻弇apper鏂囦欢璺寰勫備笅锛

浣跨敤MyBatisPlus鍙浠ヤ负鎴戜滑鍑忓皯寰堝氬緢澶氱殑浠g爜锛屼笉杩囬渶瑕佺紪鍐欏疄浣撶被锛屾湁澶卞繀鏈夊緱銆

閰嶇疆鍔ㄦ佹暟鎹婧

dynamic-datasource-spring-boot-starter 鏄涓涓鍩轰簬springboot鐨勫揩閫熼泦鎴愬氭暟鎹婧愮殑鍚鍔ㄥ櫒銆

浼樺娍

缃戜笂鍏充簬鍔ㄦ佹暟鎹婧愮殑鍒囨崲鐨勬枃妗f湁寰堝氾紝鏍稿績鍙鏈変袱绉嶃

濡傛灉浣犵殑鏁版嵁婧愯緝灏戯紝鍦烘櫙涓嶅嶆潅锛岄夋嫨浠ヤ笂浠绘剰涓绉嶉兘鍙浠ャ傚傛灉浣犻渶瑕佹洿澶氱壒鎬э紝璇峰皾璇曟湰鍔ㄦ佹暟鎹婧愩

鍔e娍

涓嶈兘浣跨敤澶氭暟鎹婧愪簨鍔★紙鍚屼竴涓鏁版嵁婧愪笅鑳戒娇鐢ㄤ簨鍔★級锛岀綉涓婂叾浠栨柟妗堜篃閮戒笉鑳芥彁渚涖

濡傛灉浣犻渶瑕佷娇鐢ㄥ埌鍒嗗竷寮忎簨鍔★紝閭d箞浣犵殑鏋舵瀯搴旇ュ埌浜嗗井鏈嶅姟鍖栫殑鏃跺欎簡銆

濡傛灉鍛煎0寮虹儓锛岄」鐩杈惧埌800 star锛屼綔鑰呰冭檻闆嗘垚鍒嗗竷寮忎簨鍔°

PS: 濡傛灉鎮ㄥ彧鏄鍑犱釜鏁版嵁搴撲絾鏄鏈夊己鐑堢殑闇姹傚垎甯冨紡浜嬪姟锛屽缓璁杩樻槸浣跨敤浼犵粺鏂瑰紡鑷宸辨瀯寤哄氬楃幆澧冮泦鎴恆tomic杩欑被锛岀綉涓婄櫨搴﹀緢澶氥

绾﹀畾

寤鸿

寮虹儓寤鸿鍦 涓讳粠妯″紡 涓嬮伒寰鏅閬嶇殑瑙勫垯锛屼互渚夸粬浜鸿兘鏇磋交鏄撶悊瑙d綘鐨勪唬鐮併

涓绘暟鎹搴 寤鸿 鍙鎵ц INSERT UPDATE DELETE 鎿嶄綔銆

浠庢暟鎹搴 寤鸿 鍙鎵ц SELECT 鎿嶄綔銆

蹇閫熷紑濮

鍔犲叆渚濊禆锛

娉ㄩ噴鎺夊師鏉ョ殑鏁版嵁搴撻厤缃锛屽姞鍏ワ細

浣跨敤 @DS 鍒囨崲鏁版嵁婧愩

@DS 鍙浠ユ敞瑙e湪鏂规硶涓婂拰绫讳笂锛 鍚屾椂瀛樺湪鏂规硶娉ㄨВ浼樺厛浜庣被涓婃敞瑙

娉ㄨВ鍦╯ervice瀹炵幇鎴杕apper鎺ュ彛鏂规硶涓婏紝浣嗗己鐑堜笉寤鸿鍚屾椂鍦╯ervice鍜宮apper娉ㄨВ銆 (鍙鑳戒細鏈夐棶棰)

濡傛灉涓嶅姞鍏ヤ富閿鍒欎娇鐢ㄩ粯璁ゆ暟鎹婧愩

DruidDataSourceAutoConfigure浼氭敞鍏ヤ竴涓狣ataSourceWrapper锛屽叾浼氬湪鍘熺敓鐨剆pring.datasource涓嬫壘url,username,password绛夈傝屾垜浠鍔ㄦ佹暟鎹婧愮殑閰嶇疆璺寰勬槸鍙樺寲鐨,鎵浠ラ渶瑕佹帓闄わ細

鎴栬呭湪绫讳笂鎺掗櫎锛

鐒跺悗鏇存崲properties閰嶇疆淇℃伅锛

鏈绡囦唬鐮佹堜緥鍦板潃锛

https://github.com/450255266/open-doubi

浣滆咃細SimpleWu

鍑哄勶細https://www.cnblogs.com/SimpleWu/p/10930388.html

4. mybatis基本配置详解

中间步骤自行设置

MySQL驱动版本根据自己安装的MySQL选择

我把AppTest改成了MybatisTest,不该也无妨;
其中Student类暂时只设置四个字段:

mapper接口暂时为空

在resources目录下新建File命名为db.peoperties,配置如下内容:

提示:以上配置适用于MySQL8.X版本,5.X版本按照如下配置:

1、transactionManager:事告伏务管理器;
type 事务管理类型:
JDBC(JdbcTransactionFactory);
MANAGED(ManagedTransactionFactory)
自定义事务管理器:实现TransactionFactory接口.type指定为全类名

2、dataSource:数据源;
type :数据源类型;
UNPOOLED(UnpooledDataSourceFactory); POOLED(PooledDataSourceFactory);
JNDI(JndiDataSourceFactory)
自定义数据源:实袜悉携现DataSourceFactory接口,type是全类名

<mapper>:注册一个sql映射文件
1、注册映射文件
resource:引用类路径下的sql映射文件
mybatis/StudentMapperpper.xml
url:引用网路路径或者磁盘路径下的sql映射文件
file:///var/mappers/AuthorMapper.xml
2、注册接口
class:引用(注册)接口,
① 有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下;
② 没有sql映射文件,所有的sql都是利用注解写在接口上;
推荐:
比较重要的,复杂的Dao接口我们来写sql映射文件
不重要,简单的Dao接口为了开发快速可以使用注解;
批量注册
需要在资源路径下(resources)建立和一样的文件目录来存放想xml映射文件,如:com.example.StudentMapperpper.xml

StudentMapper

在resources的mybatis目录下新建文件夹mapper,新建xml文件StudentMapper.xml

namespace :名称空间;指定为接口的全类名
id :唯陆袜一标识
resultType :返回值类型
#{id} :从传递过来的参数中取出id值
resources目录(MajorMapper.xml暂时不用创建)如下:

5. IDEA 无法读取项目的xml配置文件,找不到路径是为什么

1.将所有资源文件放在resources文件夹下

这样做很方便,比较容易想到,但是层次性就很差了,比如专mybatis的映射配置文件mapper.xml,本属来需要放在特定的包里面,与层,service层等层次为同一个层级,如今只能放在resource文件夹下,不方便分层;
2.如果该项目是maven项目:
配置maven的pom文件配置,在pom文件中找到<build>节点,添加下列代码:

<build><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources></build>
我尝试过将directory修改为具体的放置配置文件的包,即修改成 src/main/java/lj/ncepu/mapperXML,然后<include>标签里面也做了很多修改和尝试,始终无法访问到配置文件;

6. 如何配置mybatis开发环境

1、打开MyEclipse或者Eclipse,新建一个JavaProject项目mybatis

谢谢采纳

阅读全文

与mybatis配置文件绝对路径相关的资料

热点内容
什么海外网站可以看限制片 浏览:596
指尖见app在哪里下载 浏览:367
java聊天室课程设计 浏览:670
responsejavascript 浏览:71
如何从杀毒软件里面恢复出文件 浏览:972
越狱iphone如何备份 浏览:124
苹果四S万能钥匙怎么破不开 浏览:603
网络打印机共享怎么连接 浏览:313
fme系统找不到指定文件 浏览:301
iphoneid和密码忘了怎么办 浏览:238
苹果电脑优盘里的文件如何加密 浏览:284
word标题名和文件名一致 浏览:957
excel修改后的文件保持了怎么恢复 浏览:340
社保网络认证怎么弄 浏览:92
苹果手机怎么传数据到新手机相册 浏览:50
5s升级ios92无服务 浏览:354
ubuntu翻译工具 浏览:665
wifi安装教程 浏览:398
苹果有些qq文件打不开 浏览:139
微信分身图片缓存在哪个文件 浏览:544

友情链接