`

Mybatis:代码生成器(Maven版)&集成Spring

 
阅读更多
一、生成器(Maven)
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);
分享到:
评论
2 楼 zhch152 2014-08-29  
mvn org.mybatis.generator:mybatis-generator-maven-plugin:1.3.1:generate
在eclipse中运行时,不需要配置 plugin,因为命名包含了plugin的所有信息,运行时会自动下载到本地。
1 楼 zhch152 2014-08-16  
mvn org.mybatis.generator:mybatis-generator-maven-plugin:1.3.1:generate

如果是在eclipse环境下,不要加mvn

相关推荐

Global site tag (gtag.js) - Google Analytics