时间:2023-09-10 23:24:01 | 来源:网站运营
时间:2023-09-10 23:24:01 来源:网站运营
MyBatis三剑客:今天在本站上有人提问MyBatis三剑客是什么?于是乎心血来潮写了这篇MyBatis三剑客来跟大家分享一下。网页三剑客,是一套强大的网页编辑工具,最初是由Macromedia公司开发出来的。由Dreamweaver,Fireworks,Flash三个软件组成,俗称网页三剑客。所谓XXX三剑客,意思就是某三个东西组合起来,会使得一款工具发挥其所未有的威力,最直接体现就是降低开发难度,提高开发效率。而MyBatis的三剑客是MyBatis-generator、MyBatis-plugin、MyBaits-pageHelper。
--generator:用于快速生成xml文件、注释、实体类等等。
--plugin:能快速定位接口对应的sql。
--pageHelper:是一款分页插件。
[1] insert基本可以满足绝大多数场景下的开发。不足之处就是只能生成单表的代码,如果需要关联多张表,还需要开发者我们对代码进行调整优化。此外开发者也可在generator的基础上进行二次开发,使得逆向一对一、一对多、多对一、多对多成为可能,而不再是幻想。
[2] update by primary key
[3] update by example (using a dynamic where clause)
[4] delete by primary key
[5] delete by example (using a dynamic where clause)
[6] select by primary key
[7] select by example (using a dynamic where clause)
[8] count by example
<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version></dependency>
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <configuration> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <!-- mybatis用于生成代码的配置文件 --> <verbose>true</verbose> <overwrite>true</overwrite> </configuration></plugin>
<?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"><!-- generator配置 --><generatorConfiguration> <!-- generator需要数据库驱动才能逆向代码,因此需要配置一个本地的数据库驱动包 --> <classPathEntry location="C:/software/mysql-connector-java-5.1.6.jar"/> <context id="mysql" targetRuntime="MyBatis3"> <!-- generator默认会将逆向代码追加到已有的xml文件中,但我们希望的是重写 --> <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"></plugin> <!-- generator默认会对逆向代码添加注释,为了代码更加简洁,我们希望去掉注释 --> <commentGenerator> <property name="suppressAllComments" value="true"/> </commentGenerator> <!-- 配置数据库连接池 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/db_name?serverTimezone=UTC" userId="username" password="password"> </jdbcConnection> <!-- java类型处理器 --> <javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl"> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- model创建器 --> <javaModelGenerator targetPackage="XXX" targetProject="XXX"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- 生成SQL map的XML文件创建器 --> <sqlMapGenerator targetPackage="mappers" targetProject="src/main/resources"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!-- Mapper接口处理器 --> <javaClientGenerator targetPackage="org.cjw.dao" type="XMLMAPPER" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- 配置需要逆向的表(一个或者多个) --> <table tableName="table_name" domainObjectName="model_name" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false"/> </context></generatorConfiguration>
点击settings --> Plugins --> Marketplace --> 搜索Free MyBatis plugin --> install --> restart IDE。安装完成之后,打开mapper文件,会在左侧出现绿色箭头:
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version></dependency>
//[pageNum, pageSize] 页码 每页显示数量PageHelper.startPage(curPage,pageSize);PageInfo<Order> pageInfo = new PageInfo<>(orderMapper.findAll());
在需要执行查询之前,这是分页数据(curPage&pageSize)。会返回一个PageInfo对象,包含了分页查询的所以信息数据,如下:面试官问你会不会JPA,你说你只会MyBatis,面试官会觉得你对前沿技术、技术发展趋势不敏感,感觉你只是停留在使用层面上。如果觉得有用
面试官问你会不会MyBatis,你说你只会JPA,面试官会觉得你对当前国内的形势不了解,甚至会怀疑你的开发经验。
所以本人认为的回答应该是:在过去开发的项目中用的都是MyBatis,但是就我对持久层框架的认识和了解来看,我觉得未来的发展趋势应该是JPA(哔哩吧哩的说一下JPA的好处),就目前spring家族的新生儿子Spring-data-JPA,在不断的茁壮成长,也可以看出点发展方向。
关键词: