MyBatis的逆向工程详解
程序员文章站
2024-02-19 19:49:52
一:什么是逆行工程。
mybatis是一款优秀的持久层框架,它支持定制化sql、存储过程以及高级映射。mybatis 避免了几乎所有的 jdbc 代码和手动设置参数以...
一:什么是逆行工程。
mybatis是一款优秀的持久层框架,它支持定制化sql、存储过程以及高级映射。mybatis 避免了几乎所有的 jdbc 代码和手动设置参数以及获取结果集。mybatis 可以使用简单的 xml 或注解来配置和映射原生信息,将接口和 java 的 pojos(plain old java objects,普通的 java对象)映射成数据库中的记录。
当数据库表比较多的时候,重复的创建pojo对象和简单的数据库表的(crud)操作的mapper,效率低,官方给出了使用mybatis generator用来根据数据库表逆向生成pojo和mapper文件,极大的方便开发。
二:简单教程
maven的pom.xml中添加插件
<packaging>jar</packaging> <dependencies> <!-- 添加对mybatis的依赖 --> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis</artifactid> </dependency> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis-spring</artifactid> </dependency> <dependency> <groupid>com.github.miemiedev</groupid> <artifactid>mybatis-paginator</artifactid> </dependency> <dependency> <groupid>com.github.pagehelper</groupid> <artifactid>pagehelper</artifactid> </dependency> <!-- mysql --> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> </dependency> <!-- 连接池 --> <dependency> <groupid>com.alibaba</groupid> <artifactid>druid</artifactid> </dependency> <dependency> <groupid>org.mybatis.generator</groupid> <artifactid>mybatis-generator-core</artifactid> <version>1.3.6</version> </dependency> </dependencies> <build> <plugins> <!-- mybatis逆向工程 --> <plugin> <groupid>org.mybatis.generator</groupid> <artifactid>mybatis-generator-maven-plugin</artifactid> <version>1.3.7</version> <configuration> <!--配置文件的位置--> <configurationfile>src/main/resources/generatorconfig.xml</configurationfile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> </plugins> </build>
创建配置文件 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> <!--引入数据库配置文件方便修改--> <properties resource="jdbc.properties"/> <!--数据库驱动文件 需要修改 todo--> <classpathentry location="/volumes/tool/java_tool/maven/maven_repository/mysql/mysql-connector-java/5.1.32/mysql-connector-java-5.1.32.jar"/> <context id="context" targetruntime="mybatis3simple"> <commentgenerator> <!-- 是否去除自动生成的注释,true:是;false:否 --> <property name="suppressallcomments" value="true"/> <property name="suppressdate" value="false"/> </commentgenerator> <!--数据库连接的信息:驱动类、连接地址、用户名、密码 --> <jdbcconnection driverclass="${jdbc.driverclassname}" connectionurl="${jdbc.url}" userid="${jdbc.username}" password="${jdbc.password}"/> <!--默认false,把jdbc decimal 和 numeric 类型解析为 integer,--> <!--为 true时把jdbc decimal 和 numeric 类型解析为java.math.bigdecimal --> <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制--> <javatyperesolver> <property name="forcebigdecimals" value="false"/> </javatyperesolver> <!--生成po类的位置 配置生成的实体包--> <!--targetpackage:生成的实体包位置,默认存放在src目录下--> <!--targetproject:相对路径 路径拼接结果 src/main/java/one/domain --> <javamodelgenerator targetpackage="one.domain" targetproject="src/main/java"> <!-- enablesubpackages:是否让schema作为包的后缀 --> <property name="enablesubpackages" value="false"/> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimstrings" value="true"/> </javamodelgenerator> <!-- 实体包对应映射文件位置及名称,默认存放在src目录下 同上 --> <sqlmapgenerator targetpackage="mapperxml" targetproject="src/main/resources"> <!-- enablesubpackages:是否让schema作为包的后缀 --> <property name="enablesubpackages" value="false"/> </sqlmapgenerator> <!--targetpackage:mapper接口生成的位置--> <javaclientgenerator targetpackage="one.mapper" type="xmlmapper" targetproject="src/main/java"> <!-- enablesubpackages:是否让schema作为包的后缀 --> <property name="enablesubpackages" value="false"/> </javaclientgenerator> <!--配置表--> <!--schema:不用填写--> <!--tablename: 表名 todo--> <!--enablecountbyexample、enableselectbyexample、enabledeletebyexample、enableupdatebyexample、selectbyexamplequeryid:--> <!--去除自动生成的注释例子--> <table tablename="tb_user" enablecountbyexample="false" enabledeletebyexample="false" enableselectbyexample="false" enableupdatebyexample="false"/> </context> </generatorconfiguration>
运行generator类即可生成
我已经做好项目了 下载即可运行
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇: java实现客房管理系统