Generator-Mybatis自动生成代码

来源:互联网 发布:纳什mvp数据 编辑:程序博客网 时间:2024/04/30 15:19

在使用Mybatis时,我们需要写出mapping文件是件很痛苦的事情,现在又了可以自动生成这些的工具了,来学学吧!

首先创建普通的maven项目,具体方法可以参照Eclipse创建Maven项目

在maven项目中配置需要用到的jar包,pom.xml配置如下,其中的mysql可以不用配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.study.wsj</groupId><artifactId>mybatis</artifactId><version>0.0.1-SNAPSHOT</version><properties><mybatis-version>3.2.2</mybatis-version><mybatis-generator-version>1.3.2</mybatis-generator-version><mysql-connector>5.1.25</mysql-connector><spring-version>3.2.2.RELEASE</spring-version><commons-long-version>2.3</commons-long-version></properties><dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis-version}</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>${mybatis-generator-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring-version}</version></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>${commons-long-version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql-connector}</version></dependency></dependencies></project>

在src/test/java下进行Generator的相关配置,我在mybatis包下进行的

创建init.properties,配置如下

classPathEntry=mybatis/mysql-connector-java-5.1.25.jardriverClass=com.mysql.jdbc.DriverconnectionURL=jdbc:mysql://192.168.150.21:3306/access_web?characterEncoding=utf-8&connectTimeout=3000targetProject=src/main/javauser=rootpassword=hoolaitargetPackage=com.study.wsj.dao

  • classPathEntry:配置myslq驱动包

  • driverClass:配置驱动类
  • connectionURL:配置数据库连接url
  • targetProject:配置生成目标文件目录
  • user:数据库用户名
  • password:数据库密码
  • targetPackage:配置生成目标文件的包


创建Generator配置文件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="mybatis/init.properties" />  <classPathEntry location="${classPathEntry}" />  <context id="context1" >     <jdbcConnection driverClass="${driverClass}" connectionURL="${connectionURL}" userId="${user}" password="${password}" />         <javaModelGenerator targetPackage="${targetPackage}.mybatis.vo" targetProject="${targetProject}"   />    <sqlMapGenerator targetPackage="${targetPackage}.mybatis.mapper.web"  targetProject="${targetProject}"  />    <javaClientGenerator targetPackage="${targetPackage}.mybatis.mapper.web"  targetProject="${targetProject}" type="XMLMAPPER"  />    <table schema="access_web" tableName="model" domainObjectName="Model"  >    <generatedKey column="id" sqlStatement="MySql" identity="true" /></table>  </context></generatorConfiguration>

  • javaModelGenerator:java model生成的目录
  • sqlMapGenerator:mybatis映射文件生成*Mapper.xml
  • javaClientGenerator:对应mybatis的java映射接口生成*Mapper.java
  • table中:
  • schema:库名
  • tableName:表名
  • domainObjectName:生成java类名
  • generatedKey:指定自增字段

在当前包中引入数据库驱动jar 

mysql-connector-java-5.1.25.jar:Mysql驱动jar


接着在当前包中创建执行类GenertorDao

package mybatis;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.internal.DefaultShellCallback;import org.springframework.core.io.ClassPathResource;public class GenertorDao {public static void main(String[] args) {autoCreateDaoFile();}private static void autoCreateDaoFile() {try {List<String> warnings = new ArrayList<String>();ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(new ClassPathResource("mybatis/generatorConfig.xml").getInputStream()); DefaultShellCallback shellCallback = new DefaultShellCallback(true);List<String> entries = config.getClassPathEntries();ClassPathResource classPathResource = new ClassPathResource(entries.get(0));String filePath = classPathResource.getFile().getPath();entries.clear();config.addClasspathEntry(filePath);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, shellCallback, warnings);myBatisGenerator.generate(null);for (String warning : warnings) {    writeLine(warning);}} catch (Exception e) {e.printStackTrace();} }private static void writeLine(String warning) {System.out.println(warning);}}

现在基本的环境已经搭建好了,基本目录结构如下



直接运行我们的执行类GenertorDao,刷新工程发现已经生成我们想要的东西了。



好了就说道这里了,请关注后期对自动生成代码进行优化,保证让你爱不释手


END




1 0
原创粉丝点击