1、配置maven
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.1</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin>
2、编写生成器所需要的配置文件:src\main\resources\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> <classPathEntry location="F:\work\platform\platform-demo\target\talent-platform-demo\WEB-INF\lib\mysql-connector-java-5.1.11.jar" /> <context id="DB2Tables" targetRuntime="MyBatis3"> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/tan?generateSimpleParameterMetadata=true" userId="root" password="xxxx"> </jdbcConnection> <javaTypeResolver > <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- generate Model --> <javaModelGenerator targetPackage="com.talent.platform.demo.book.model" targetProject="c:\mybatis-generated\java"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- generate xml --> <sqlMapGenerator targetPackage="com.talent.platform.demo.book.dao" targetProject="c:\mybatis-generated\resources"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- generate Mapper --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.talent.platform.demo.book.dao" targetProject="c:\mybatis-generated\java"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <table schema="" tableName="book" domainObjectName="Book"></table> <table schema="" tableName="leavemessage" domainObjectName="Leavemessage"></table> </context> </generatorConfiguration>
这个生成器很不智能:不会为你创建目录、需要你指定要生成的表
3、运行命令:mvn org.mybatis.generator:mybatis-generator-maven-plugin:1.3.1:generate。这时候会在c:盘生成相应的代码和xml配置文件,我们需要做的就是把这些东西拷到我们的项目中
二、集成Spring
1、定义你的bean
<bean id="talent-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${talent.jdbc.driverClassName}"/> <property name="url" value="${talent.jdbc.url}"/> <property name="username" value="${talent.jdbc.username}"/> <property name="password" value="${talent.jdbc.password}"/> <property name="initialSize" value="${talent.jdbc.pool.initialSize}" /> <property name="maxActive" value="${talent.jdbc.pool.maxActive}" /> <property name="maxIdle" value="${talent.jdbc.pool.maxIdle}" /> <property name="minIdle" value="${talent.jdbc.pool.minIdle}" /> </bean> <!-- beware that mapper-config.xml is not needed if you use injected mappers --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- <property name="configLocation" value="classpath:MapperConfig.xml" /> --> <property name="dataSource" ref="talent-ds" /> <property name="mapperLocations" value="classpath*:com/talent/platform/demo/book/dao/*.xml" /> </bean> <bean id="BookMapper1" class="org.mybatis.spring.mapper.MapperFactoryBean"> <!-- SqlSessionFactory property is autowired --> <property name="mapperInterface" value="com.talent.platform.demo.book.dao.BookMapper" /> <property name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean>
2、编写测试类
BookMapper mapper = (BookMapper) SpringManager.getApplicationContext().getBean("BookMapper1"); Book book1 = mapper.selectByPrimaryKey(1); System.out.println(book1);