mybatis基本配置详解

mybatis基本配置详解,第1张

中间步骤自行设置

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)建立和dao一样的文件目录来存放想xml映射文件,如:com.example.StudentMapperpper.xml

StudentMapper

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

namespace :名称空间指定为接口的全类名

id :唯一标识

resultType :返回值类型

#{id} :从传递过来的参数中取出id值

resources目录(MajorMapper.xml暂时不用创建)如下:

相关链接: MyBatis Generator 配置文件详解

此篇主要说明 MyBatis Generator 配置文件详解 中的 table 元素,有关 MyBatis Generator 配置文件详解 的其他内容请移步: MyBatis Generator 配置文件详解

table 元素用来配置要通过内省的表。只有配置的才会生成实体类和其他文件。有一个必选属性(tableName)指定要生成的表名,可以使用SQL通配符匹配多个表。例如要生成全部的表,可以按如下配置:

table 元素包含多个可选属性:

该元素包含多个可用的<property>子元素,可选属性为:

除了<property>子元素外,<table>还包含以下子元素:

后面的小节对这4个元素进行详细讲解。

这个元素是可选的,最多可以配置一个。

这个元素用来指定自动生成主键的属性(identity字段或者sequences序列)。如果指定这个元素,MBG在生成insert的SQL映射文件中插入一个<selectKey>元素。 这个元素 非常重要 ,这个元素包含下面两个必选属性:

这个元素还包含两个可选属性:

该元素是可选的,最多可以配置一个,使用该元素可以在生成列之前,对列进行重命名。这对那些存在同一前缀的字段想在生成属性名时去除前缀的表非常有用。 例如假设一个表包含以下的列:

生成的所有属性名中如果都包含CUST的前缀可能会让人不爽。这些前缀可以通过如下方式定义重命名规则:

注意,在内部,MBG使用java.util.regex.Matcher.replaceAll方法实现这个功能。 请参阅有关该方法的文档和在Java中使用正则表达式的例子。

当<columnOverride>匹配一列时,这个元素(<columnRenamingRule>)会被忽略。<columnOverride>优先于重命名的规则。

该元素有一个必选属性(searchString):定义将被替换的字符串的正则表达式。

该元素有一个可选属性(replaceString):这是一个用来替换搜索字符串列每一个匹配项的字符串。如果没有指定,就会使用空字符串。

关于<table>的<property>属性useActualColumnNames对此的影响可以查看完整文档。

该元素可选,可以配置多个。该元素将某些属性默认计算的值更改为指定的值。

该元素有一个必选属性(column):要重写的列名。

该元素有多个可选属性:

配置示例:

该元素可选,可以配置多个。该元素可以用来屏蔽不需要生成的列。

该元素有一个必选属性(column):要忽略的列名。

该元素还有一个可选属性(delimitedColumnName):匹配列名的时候是否区分大小写。如果为true则区分。默认值为false,不区分大小写。

在插件configurationFile参数指定的文件路径创建对应的配置文件,内容范例如下

根据上一步生成设置配置里面的<classPathEntry location="D:/mysql-connector-java-5.1.47.jar" />指定的相应位置放好驱动包

也可以在plugin中添加jdbc驱动依赖包,这样就不需要在外部放置。

打开idea的maven侧边栏,展开plugin列表并点击generate,如下图:

1.默认生成的字段属性为驼峰格式,如果想与字段名保持一致,则可在<table>下添加useActualColumnNames属性节点

2.实体类名默认只会表名去掉“_”之后首字母大写,要想用标准驼峰格式则需要自己设置类名,如:<table domainObjectName="AbcDef">

3.实体类名如果需要去除表名前缀,可在<table>下添加

注意Its是前缀字符串,使用的时候自己根据情况替换,而且首字母必须大写,否则无法匹配


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/tougao/6069061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存