张文鹏个人博客系统
炫酷文字跳动漂浮js特效代码

为什么很多人都想成功,但成功的人只是极少数?不是因为成功有多困难,其实成功简单得很,只要你一开始都有计划,并且能一直做下去,总会成功的。关键是如何面对成功,你失败了,起码还有人同情你,而成功了,连得到同情的机会都没有。 一匹真正的好马,即使在鞭子的影子下,也能飞奔。 如果你没有把握做到,最好就不要承诺,你什么也不承诺,至少别人不会看不起你。 一本好书,就像高级武功秘籍一样,哪怕只是从里面领悟到个一招半势,功力提升起来都是惊人的。 永不放弃,永不放弃又有两个原则,第一个原则是永不放弃,第二个原则就是:当你想放弃时回头看第一个原则。

欢迎来到zwp博客 用心记录点滴生活
博客信息

mybatis逆向工程初识

0
发布时间:『 2017-09-04 20:10 』  博客类别:Java  阅读(550)  评论(1)

今天知道了mybatis的一个重要的特性-mybatis逆向生成工程,就是可以通过数据库中的表,来逆向生成pojo,mapper,mapper.xml等文件。之前在进行持久层的代码编写总是先写pojo(实体bean),dao,少的话还行,实体多的话就会感觉很麻烦,这一特性就可以完美的解决这一问题。

使用mybatis的逆向工程,可以在官网下载逆向工程的工具,下面开始我总结一下mybatis逆向工程的使用步骤:

把这个工程导入到eclipse中目录如下图:

 1504525450060045005.jpg

genneratorConfig.xml是核心的配置文件,也是通过这里面的配置来逆向生成一些文件。具体如下:

<generatorConfiguration>
 <context id="testTables" targetRuntime="MyBatis3">
  <commentGenerator>
   <!-- 是否去除自动生成的注释 true:是 : false:否 -->
   <property name="suppressAllComments" value="true" />
  </commentGenerator>
  <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->

<!-- mysql-->
  <jdbc  Connection driverClass="com.mysql.jdbc.Driver"
   connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"
   password="mysql">
  </jdbcConnection>
  <!-- oracle <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
   connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
   userId="scott"
   password="scott">
  </jdbcConnection> -->

  <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
   NUMERIC 类型解析为java.math.BigDecimal -->

  <javaTypeResolver>
   <property name="forceBigDecimals" value="false" />
  </javaTypeResolver>

  <!-- targetProject:生成PO类的位置 -->
  <javaModelGenerator targetPackage="cn.nytd.ssm.po"
   targetProject=".\src">
   <!-- enableSubPackages:是否让schema作为包的后缀 -->
   <property name="enableSubPackages" value="false" />
   <!-- 从数据库返回的值被清理前后的空格 -->

   <property name="trimStrings" value="true" />
  </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
  <sqlMapGenerator targetPackage="cn.nytd.ssm.mapper"
   targetProject=".\src">
   <!-- enableSubPackages:是否让schema作为包的后缀 -->
   <property name="enableSubPackages" value="false" />
  </sqlMapGenerator>
  <!-- targetPackage:mapper接口生成的位置 -->
  <javaClientGenerator type="XMLMAPPER"
   targetPackage="cn.nytd.ssm.mapper"
   targetProject=".\src">
   <!-- enableSubPackages:是否让schema作为包的后缀 -->
   <property name="enableSubPackages" value="false" />
  </javaClientGenerator>
  <!-- 指定数据库表 -->
  <table schema="" tableName="admin"></table>
  <table schema="" tableName="functions"></table>
  <table schema="" tableName="meal"></table>
  <table schema="" tableName="mealseries"></table>
  <table schema="" tableName="orderdts"></table>
  <table schema="" tableName="orders"></table>
  <table schema="" tableName="powers"></table>
  <table schema="" tableName="users"></table>  
  <!-- 有些表的字段需要指定java类型
   <table schema="" tableName="">
   <columnOverride column="" javaType="" />
  </table> -->
 </context>
</generatorConfiguration>

当完成里面的配置后,即可执行GeneratorSqlmap.java中的main方法,即可生成,切记只能执行一次,然后refresh项目后就可以看见生成的结果啦~

GeneratorSqlmap.java详细代码

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

public class GeneratorSqlmap {

 public void generator() throws Exception{

  List<String> warnings = new ArrayList<String>();
  boolean overwrite = true;
  //指定 逆向工程配置文件
  File configFile = new File("generatorConfig.xml");
  ConfigurationParser cp = new ConfigurationParser(warnings);
  Configuration config = cp.parseConfiguration(configFile);
  DefaultShellCallback callback = new DefaultShellCallback(overwrite);
  MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
    callback, warnings);
  myBatisGenerator.generate(null);

 }
 public static void main(String[] args) throws Exception {
  try {
   GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
   generatorSqlmap.generator();
  } catch (Exception e) {
   e.printStackTrace();
  }
  
 }

}

这是我用一个数据库做的例子:

1504526319404020379.jpg

通过逆向生成帮你自动写sql,还帮你定义了很多方法。然后你就可以把生成的文件放到你的项目中进行开发了,这样就快捷了很多。很实用。

 

关键字:   mybatis逆向工程  
评论信息
1楼    180.98.97.184:大佬大佬,来劲来劲,小弟佩服佩服      [ 2017-09-27 14:23 ]
发表评论
验证码: 
jquery轮播效果图
励志美句

越努力越幸运!

  • 1
  • 2
  • 3
  • 4
< >
你是本站第位访客
苏ICP备17048714