SSM框架——使用MyBatis Generator自动创建代码
Posted SH-xuliang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSM框架——使用MyBatis Generator自动创建代码相关的知识,希望对你有一定的参考价值。
最近要开发个小工具,所以又自学了下SSM框架,以下是参考网文 通过自己实践修改,亲测通过。
这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。这样可以省去很多的功夫,将生成的代码copy到项目工程中即可。使用自动生成有很多方式,可以在eclipse中安装插件,但是以下将要介绍的这种方式我认为很轻松,最简单,不需要装插件,只需要下几个jar包即可,把它们放在一个目录下面。
jar包下载:
mybatis-generator-core-1.3.2-bundle.zip
http://download.csdn.net/download/malingshuma/9597562
mybatis-3.2.7
https://github.com/mybatis/mybatis-3/releases
mysql-connector-java-commercial-5.1.25-bin.jar
http://download.csdn.net/download/u010870518/8224013
生成代码需要的文件和jar包,放置在lib目录下:[mybatis-generator-core-1.3.2.jar解压之后有lib文件夹还有相关jar包,在此文件夹下创建目录src,并且将数据库和mybatis的jar包复制到lib文件夹中 ]
其中有mybatis框架的jar包,数据库驱动程序jar包以及MyBatis生成器jar包。其中的generatorConfig.xml是需要我们来配置的文件,配置如下:
1 <?xml version="1.0" encoding="ANSI"?> 2 <!DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5 <generatorConfiguration> 6 <!-- 数据库驱动--> 7 <classPathEntry location="mysql-connector-java-5.1.24-bin.jar"/> 8 <context id="DB2Tables" targetRuntime="MyBatis3"> 9 <commentGenerator> 10 <property name="suppressDate" value="true"/> 11 <!-- 是否去除自动生成的注释 true:是 : false:否 --> 12 <property name="suppressAllComments" value="true"/> 13 </commentGenerator> 14 <!--数据库链接URL,用户名、密码 --> 15 <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/test" userId="root" password="111111"> 16 </jdbcConnection> 17 <javaTypeResolver> 18 <property name="forceBigDecimals" value="false"/> 19 </javaTypeResolver> 20 <!-- 生成模型的包名和位置--> 21 <javaModelGenerator targetPackage="test.domain" targetProject="src"> 22 <property name="enableSubPackages" value="true"/> 23 <property name="trimStrings" value="true"/> 24 </javaModelGenerator> 25 <!-- 生成映射文件的包名和位置--> 26 <sqlMapGenerator targetPackage="test.mapping" targetProject="src"> 27 <property name="enableSubPackages" value="true"/> 28 </sqlMapGenerator> 29 <!-- 生成DAO的包名和位置--> 30 <javaClientGenerator type="XMLMAPPER" targetPackage="test.IDao" targetProject="src"> 31 <property name="enableSubPackages" value="true"/> 32 </javaClientGenerator> 33 <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--> 34 <table tableName="user_t" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> 35 </context> 36 </generatorConfiguration>
PS:需要注意,主要改这两部分,数据库相关和表名:
①<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/你的数据库名称" userId="用户名" password="密码">
②<table tableName="你的表名" domainObjectName="User" enableCountByExample="false"
当以上这些完成之后,只需要打开控制台,进入lib目录下,执行脚本:[可以将文件放在E盘根目录下]
Java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite 即可。
这样在生成之后,就可以在src目录下找到相应的文件夹,每个表格都会对应三个文件(实体类、接口、配置文件)
如下图所示:
PS:常见问题汇总,如下,
① XML Parser Error on line 1: 前言中不允许有内容。
修改xml文件,为ANSI 编码,并另存为ASCII编码。
② The specified target project directory src does not exist
目录创建错误,应创建在lib目录下。
③Exception in thread "main" java.lang.RuntimeException: Cannot resolve classpath
entry: mysql-connector-java-5.1.24-bin.jar
问题原因:xml中,mysqljar包版本号不一致
以上是关于SSM框架——使用MyBatis Generator自动创建代码的主要内容,如果未能解决你的问题,请参考以下文章
使用idea搭建一个简单的SSM框架:配置spring+mybatis
SSM框架——使用MyBatis Generator自动创建代码
SSM框架——使用MyBatis Generator自动创建代码
SSM框架-使用MyBatis Generator自动创建代码
SSM框架——使用MyBatis Generator自动创建代码
SSM框架MyBatis笔记 --- 三层架构;MyBatis框架结构;MyBatis 核心配置文件;sql 映射文件;MyBatis 使用初步(通过Maven添加依赖)