`
qiuguo0205
  • 浏览: 242461 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

结合Spring使用Mybatis Generator生成的代码

阅读更多

本文将简要介绍怎样利用Spring 整合 Mybatis Generator自动生成的代码:

 

关于Mybatis Generator自动生成怎样自动生成代码,请参考这篇文章:使用Mybatis Generator自动生成Mybatis相关代码 ,本篇文章将接着上一篇文章的例子继续。


一、准备环境

1. 下载jar包:首先要在Mybatis网站中下载相应的 jar包mybatis-spring-1.0.0-RC2-bundle.zip http://code.google.com/p/mybatis/downloads/list?can=3&q=Product%3DSpring

另外当然还需要Spring的jar包,本文中用到版本的是3.0.4

 

2. 添加jar包:要使用mybatis-spring-1.0.0-RC1.jar,除了要在构建路径上添加jdbc包、Mybatis的包外,还需要添加Spring的asm, beans, context, core, expression, jdbc, transaction这几个包,当然还要包括apache-commons-logging。

 

二、运行 mybatis-generator

为了方便运行,在本示例中将Mybatis Generator的代码生成用ant脚本的方式给出:

<?xml version="1.0" encoding="UTF-8"?>
<project default="genfiles" basedir=".">
	<target name="genfiles" description="Generate the files">
		<taskdef name="mbgenerator" classname="org.mybatis.generator.ant.GeneratorAntTask"
			classpath="mybatis-generator-core-1.3.0.jar" />
		<mbgenerator overwrite="true" configfile="src/main/resource/config.xml"
			verbose="false">
		</mbgenerator>
	</target>
</project>
 

不过在运行示例时请修改config.xml中jdbc jar包的位置 ,因为示例中使用的是绝对路径,而没有成功的转成相对路径,若有谁成功的转成相对路径的话,请留言相教,谢谢。

 

三、使用 mybatis-generator 生成的代码

使用Mybatis Generator自动生成Mybatis相关代码 的文章中,我还不明白为什么要手写一个关于所有映射的配置文件。使用Spring后我知道了,原来在Spring中使用mybatis-generator 生成的代码,根本就不需要这个配置文件,只要在Spring的context文件中配置相应的信息即可。

 

下面是context配置示例:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:context="http://www.springframework.org/schema/context"
     xsi:schemaLocation="
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
     default-autowire="byName">

	<bean
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations" value="classpath:datasource.properties" />
	</bean>
	
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="${jdbc.driverClassName}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
	</bean>

    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </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="dataSource" />
    </bean>

    <bean id="petMapper1" class="org.mybatis.spring.MapperFactoryBean">
        <!-- SqlSessionFactory property is autowired -->
        <property name="mapperInterface" value="test.dao.PetMapper" />
    </bean>

</beans>
 

可以看到sqlSessionFactory bean中的configLocation属性被注释掉了,不过丝毫不影响对相应dao接口的使用。我们只需要编写下面的几行代码就已达到上篇文章示例中的相同效果:

package test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import test.dao.PetMapper;
import test.model.PetExample;

public class Test {

    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("context.xml");
        PetExample pet = new PetExample();
        pet.or().andDeathIsNotNull();
        PetMapper map = (PetMapper) context.getBean("petMapper1");
        System.out.println(map.selectByExample(pet));
    }
}
 

这里的给出的例子是结合Mybatis Generator自动生成的代码尽量少的手写代码的例子,但是灵活性上可能有不足。Mybatis的网站上提供了另外三种结合Spring使用的示例,详见 http://code.google.com/p/mybatis/source/browse/#svn/sub-projects/mybatis-spring/trunk/src/test 这里就不再赘述了。

 

四、小结

该示例的完整的Eclipse工程见附件mybatis-generator-usage2.zip,其中已经包含了示例需要使用的jar包。

 

8
0
分享到:
评论
2 楼 tywo45 2011-10-22  
是org.mybatis.spring.mapper.MapperFactoryBean,而不是org.mybatis.spring.MapperFactoryBean
1 楼 moment52 2011-09-29  
您好,我想问你一个问题,我也是用MBG来生成代码的,我看英文的帮助文档说在你说MBG生成的代码后使用添加和更新方法完成后会返回你添加或修改的信息的ID,但我在使用添加方法的时候怎么都是返回1,这是怎么回事呢?是不是我用spring的AOP,数据虽然添加了,但还在内存中,所以拿不到ID或者拿到的都是1呢?

相关推荐

    spring+mybatis generator生成代码eclipse插件

    下载后,放到eclipse安装目录下的dropins文件夹中,重启eclipse。可以看到小丸子图标,或者在项目搭建菜单下...使用方法是,先选中项目,再点击插件,填写数据库信息,点击确定后,再刷新项目就可以看到生成的代码了。

    Spring+Mybatis 代码生成工具

    在压缩包 `MybatisGenerator` 中,可能包含了以下文件和目录: 1. `generatorConfig.xml`:这是配置文件,用于设定数据库连接信息、生成代码的配置、模板选择等。 2. `generator.properties`:可能是一个属性文件,...

    springboot结合mybatis generator逆向工程自动生成代码

    这是结合了mybatis generator逆向工程的springboot项目,可以直接根据数据库表名来生成对应的dao和mapper类,具体的介绍可以参考这篇文章https://blog.csdn.net/yeyazhishang/article/details/80816130

    使用MyBatis Generator自动创建代码

    3. **生成代码**: 完成配置后,运行MBG,它会根据配置文件中的设置,连接到数据库并读取表信息,然后使用模板生成对应的Java文件。生成的文件通常包括Mapper接口、XML映射文件和实体类。 4. **集成到项目**: 将生成...

    springmybatis(含有mybatis-generator示例)

    综上所述,此项目提供了一个完整的、可运行的Spring、Spring MVC和MyBatis集成实例,同时演示了如何利用MyBatis Generator自动化生成代码,对于学习和理解这些技术的结合使用具有很高的参考价值。开发者可以通过这个...

    mybatisGenerator代码自动生成工具

    在这个配置文件中,我们指定了数据库连接参数、生成的Java模型、SQL映射文件以及Mapper接口的路径,并且可以指定要生成代码的表名。通过调整这些属性,我们可以自定义生成的代码风格和功能。 执行Maven的`mybatis-...

    myBatis Generator自动创建代码插件

    用户需要配置一个XML配置文件,其中包含了数据库连接信息、需要生成代码的表名以及生成代码的样式等参数。一旦配置完成,运行Generator后,就能自动创建出与数据库表对应的实体类、Mapper接口以及XML映射文件。 ...

    mybatis-generator插件 自动生成代码和注解

    下面将详细阐述MBG的主要功能、工作原理以及如何使用它来生成代码和注解。 1. **主要功能**: - **自动生成Mapper XML文件**:MBG可以根据数据库表结构自动生成对应的Mapper XML文件,包括增删改查(CRUD)等基本...

    mybatis - 代码生成(postgresql\mysql)

    总的来说,"mybatis - 代码生成(postgresql\mysql)"这个主题涵盖了数据库管理、ORM框架使用、代码自动化生成等多个方面,是提升开发效率,降低出错概率的重要实践。在实际开发中,通过合理利用这类工具,可以大大...

    使用MyBatis Generator生成xml,Mapper

    将生成的文件导入到项目中,配置MyBatis的SqlSessionFactory,并在Spring或其它框架中配置Mapper扫描,就可以在代码中直接使用这些自动生成的组件进行数据库操作了。 总结来说,MyBatis Generator是一个强大的自动...

    mybatis自动生成代码

    生成的代码可以直接导入到你的项目中,通过MyBatis的配置和Spring等框架的集成,你可以快速地在项目中使用这些代码进行数据库操作。 总结,MyBatis Generator是MyBatis框架的一个强大工具,它简化了数据库操作的...

    mybatis+mybatis-spring+mybatis-generator

    MyBatis是一个优秀的Java持久层框架,它支持...例如,MyBatis Generator可以快速生成基础代码,MyBatis提供灵活的SQL映射,而MyBatis-Spring则帮助整合Spring的依赖注入和事务管理,使得整个系统更加健壮且易于测试。

    mybatis逆向自动生成工具mybatisGenerator

    MyBatis Generator(MBG)是一款强大的工具,用于自动生成MyBatis的实体类、Mapper接口和对应的XML配置文件,极大地提高了开发效率。在数据库表结构建立完成后,手动编写这些文件确实是一项繁琐的工作,而MBG就是...

    spring整合Mybatis

    最后,`springMybatis`可能是指项目的根目录或者模块名称,通常包含`src/main/resources`下的Mybatis配置文件、Mapper接口和XML文件,以及`src/main/java`下的业务逻辑和服务层代码。 综上所述,"Spring整合Mybatis...

    mybatis generator 代码生成 springmvc可用

    在本例中,我们将讨论如何利用MBG为SpringMVC项目生成代码,以及涉及到的相关知识点。 **MyBatis Generator (MBG)** MBG是MyBatis框架的一个插件,它能够根据数据库中的表结构自动创建Java代码。这包括DAO接口、...

    mybatis springmvc 框架 微信小例子 mybatisgenerator生成类

    3. MyBatisGenerator:MyBatisGenerator是MyBatis官方提供的一个代码生成工具,可以根据数据库表结构自动生成对应的Java实体类、Mapper接口及XML配置文件。这样,开发者无需手动编写这些基础代码,可以将精力集中在...

    myBatis自动生成代码案例

    本案例重点讨论MyBatis如何通过其内置的代码生成器(myBatisGenerator)来自动化创建数据库操作相关的Java代码,极大地提高了开发效率。 首先,我们来看一下MyBatis Generator (MBG) 是什么。MBG是一个能够根据数据库...

    配套spring mybatis activiti的代码自动生成

    标题 "配套spring mybatis activiti的代码自动生成" 指的是一个集成Spring、MyBatis和Activiti的工作流程自动化代码生成解决方案。这个项目旨在帮助开发者通过自动化工具提高开发效率,减少手动编写重复性代码的时间...

    idea整合springboot+mybatis逆向生成demo

    【描述】"idea开发工具使用springboot+gradle+mybatis逆向生成代码demo,亲测可用"表明这是一个实际操作过的示例,旨在展示如何在Idea中结合Spring Boot和Gradle配置MyBatis的逆向工程功能,自动生成数据库模型、...

Global site tag (gtag.js) - Google Analytics