MyBatis代码生成器(超详细讲解) |
您所在的位置:网站首页 › access中表达式生成器的使用过程 › MyBatis代码生成器(超详细讲解) |
为什么要使用MyBatis代码生成器?
MyBatis代码生成器(MyBatis Generator)的作用就是方便我们偷懒,这样说比较贴切一些。 因为我们在使用MyBatis框架的时候,需要三个组件: 实体类Mapper接口Mapper.xml
我们通过下面两步来使用代码生成器: 编写代码生成器配置文件运行代码生成器 1.编写代码生成器配置文件我们先对代码生成器配置文件做一个详细讲解,然后再给出整个配置代码。 首先要引入配置文件的模板,之后就是在这个XML模板配置 generatorConfiguration标签下只包含以下三个标签,下面一 一介绍这三个标签的作用。![]() ![]() 这个标签可以配置多个,也可以不配置,只有一个location属性。这个标签最常见的用法就是通过location属性指定数据库驱动的路径。 context标签这个标签至少配置一个,可以配置多个。context标签用于指定生成一组对象的环境。例如: 指定要连接的数据库指定要处理的数据库表生成实体类生成Mapper接口生成Mapper.xmlcontext标签属性如下: 接下来我们看看context包含哪些子标签,我们只介绍其中常用的子标签。 该标签用来配置如何生成注释信息,最多可以配置1个。 suppressAllComments:阻止生成注释。suppressDate:阻止生成的注释包含时间戳。addRemarkComments:注释是否添加数据库表的备注信息。 jdbcConnection标签该标签用于指定MBG要连接的数据库信息,该标签必选,并且只能有一个。 driverClass:访问数据库的JDBC驱动程序的完全限定类名。connectionURL:访问数据库的JDBC连接URL。userId:访问数据库的用户ID。password:访问数据库的密码。 javaTypeResolver该标签的配置用来指定JDBC类型和Java类型如何转换,最多可以配置一个。 javaModelGenerator标签该标签用来控制生成的实体类。该标签必须配置一个,并且最多配置一个。 targetPackage:生成实体类存放的包名。targetProject:指定目标项目路径,可以使用相对路径或绝对路径。 sqlMapGenerator标签该标签用于配置SQL映射生成器(Mapper.xml文件)的属性,该标签可选,最多配置一个。 targetPackage:生成SQL映射文件存放的包名。targetProject:指定目标项目路径,可以使用相对路径或绝对路径。 javaClientGenerator标签该标签用于生成Mapper接口,该标签可选,最多配置一个。 targetPackage:生成Mapper接口存放的包名。targetProject:指定目标项目路径,可以使用相对路径或绝对路径。 table标签该标签用于配置需要通过内省数据库的表,只有在table中配置过的表,才能经过上述其他配置生成最终的代码,该标签最少配置一个。 table标签有一个必选属性tableName,该属性指定要生成的表名,可以使用SQL通配符匹配多个表。例如要生成全部的表,可以如下配置 下面给出完整的配置文件代码 配置介绍完了,接下来我们就开始运行代码生成器,这里使用Java编写代码运行它。 2.使用Java代码运行代码生成器我们需要在pom.xml中引入以下依赖 代码生成器核心依赖MyBatis框架依赖MySQL数据库驱动依赖 org.mybatis.generator mybatis-generator-core 1.3.7 org.mybatis mybatis 3.5.3 mysql mysql-connector-java 5.1.46然后编写Java代码运行代码生成器配置文件 /** * 读取MBG生成代码 */ public class MyBatisGenerator { public static void main(String[] args) throws Exception { //MBG 执行过程中的警告信息 List warnings = new ArrayList(); //当生成的代码重复时,覆盖原代码 boolean overwrite = true; //读取我们的 MBG 配置文件 InputStream is = MyBatisGenerator.class.getResourceAsStream("/generator/mbg-config.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(is); is.close(); DefaultShellCallback callback = new DefaultShellCallback(overwrite); //创建 MBG org.mybatis.generator.api.MyBatisGenerator myBatisGenerator = new org.mybatis.generator.api.MyBatisGenerator(config, callback, warnings); //执行生成代码 myBatisGenerator.generate(null); //输出警告信息 for(String warning : warnings){ System.out.println(warning); } } }运行之后的结果如下图,对于我们指定的表,MBG全部为我们生成对应的实体类,Mapper接口,以及Mapper.xml,超级方便。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |