spring + mybatis 整合

1.先说说依赖类库

 <dependencies>
 <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.1.1</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>
           <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring-version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring-version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring-version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${spring-version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring-version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring-version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-expression</artifactId>
                <version>${spring-version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${spring-version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${spring-version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${spring-version}</version>
            </dependency>

            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
            </dependency>
 </dependencies>

maven 3.x profiles配置<profiles>    <profile>        <id>dev</id>        <properties>            <spring-version>3.1.1.RELEASE</spring-version>        </properties>    </profile>

    <profile>        <id>pro</id>        <properties>            <spring-version>3.1.1.RELEASE</spring-version>        </properties>    </profile></profiles>

这里特别注意spring的版本,保持项目中spring版本的一致,否则会出现spring容器初始化失败等问题。

2.重要的一些配置

2.1这里主要配置sqlSession和事物管理器,通过sqlSession可以直接操作数据库。

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="mapperLocations" value="classpath*:/sqlMaps/*.xml"/>
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg index="0" ref="sqlSessionFactory" />
    </bean>

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>

2.2 另一种方式,通过mybatis中提供的

SqlSessionDaoSupport,这里需要注入sqlSessionFactory,其他DAO对象只要继承或包含baseDao即可。
    <bean id="baseDao" class="net.idalang.dao.impl.BaseDao">
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>

2.3 另外,对于一些数据操作逻辑不是很复杂的数据操作,直接使用mybatis-generator即可生成基本增删改查方法,提高效率。

2.3.1 引入插件

           <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>

2.3.2 简单配置

在classpath下创建generatorConfig.xml,关键配置:数据库驱动的位置,数据库连接的相关配置,对那些表进行table--》object,其他一些转换约定,如表前缀,对象命名等。

以下为sqlite数据库的一个简单配置:

<?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="your_maven_repo_path\org\xerial\sqlite-jdbc\3.7.15-M1\sqlite-jdbc-3.7.15-M1.jar"/>
    <context id="MysqlTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <jdbcConnection driverClass="org.sqlite.JDBC" connectionURL="jdbc:sqlite:your_DB_PATH" userId="id" password="pwd">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <javaModelGenerator targetPackage="your_model_target_packages" targetProject="src\main\java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <sqlMapGenerator targetPackage="sqlMaps" targetProject="src\main\resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <javaClientGenerator type="XMLMAPPER" targetPackage="your_mapper_target_package" targetProject="src\main\java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <table schema="idalang" tableName="news" domainObjectName="News" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
            <property name="useActualColumnNames" value="true"/>
        </table>
    </context>

</generatorConfiguration>

参考资源:

1.这一个连接可以解决相关的所有问题

http://mybatis.github.io/spring/zh/


  

时间: 2024-07-31 14:30:45

spring + mybatis 整合的相关文章

SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置

一直对springmvc和mybatis挺怀念的,最近想自己再搭建下框架,然后写点什么. 暂时没有整合缓存,druid也没有做ip地址的过滤.Spring的AOP简单配置了下,也还没具体弄,不知道能不能用,log也不知道能不能用,`(*∩_∩*)′哈哈,有点不负责任...... 直接上代码: 使用的eclipse和eclipse自带的maven,参考了网上的资料,有些代码是拷贝的,不过都自己测试过了.嗯,可以跑起来... 先上项目结构: 新建maven项目,选择web,然后配置pom: <pro

spring mybatis整合配置文件

spring mybatis整合所需要的配置文件和jar包

springmvc+spring+mybatis 整合

1.其实我也是菜鸟一枚,以前ssm不会,所以花了一段时间,学习了mybatis spring又进行了整合,后来又学习springmvc算是都看了看,今天就把整个搭建好的框架整理一下,和大家分享,如果错误希望指正…… 2.整个项目的目录结构: 3.有了整体结构之后我们一步一步整合来实现,整合步骤: (1).配置前端控制器,web.xml配置 (2).创建处理映射器 springmvc-server.xml 配置 (3).创建控制层 (4).业务逻辑层 (5).dao层 (6).sqlmapper

SSM(springmvc+spring+mybatis)整合过程

问题?SSM(springmvc+spring+mybatis)整合过程 一.SSM框架比较S2SH框架的优缺点比较 站在个人使用这两个框架的观点儿上来说的话,我觉得这个不能定死的说,常用的S2SH,SpringMVC等,还可以考虑jFinal. 首先说S2SH,这个是用的比较多的,特别是在中小型项目中,针对大型项目就不行了,是Struts和hibernate过于庞大,过于重量级,项目大了之后配置文件多的也是麻烦事,配置文件多了之后一方面不好操作,另外比较蛋疼的是没法断点调试,特别是对底层数据库

ztree使用系列三(ztree与springmvc+spring+mybatis整合实现增删改查)

在springmvc+spring+mybatis里整合ztree实现增删改查,上一篇已经写了demo,下面就只贴出各层实现功能的代码: Jsp页面实现功能的js代码如下: <script> //用于捕获分类编辑按钮的 click 事件,并且根据返回值确定是否允许进入名称编辑状态 function beforeEditName(treeId, treeNode) { var zTree = $.fn.zTree.getZTreeObj("treeDemo"); zTree.

SSM 即所谓的 Spring MVC + Spring + MyBatis 整合开发。

SSM 即所谓的 Spring MVC + Spring + MyBatis 整合开发.是目前企业开发比较流行的架构.代替了之前的SSH(Struts + Spring + Hibernate) 计划的架构组合 Sping MVC + Spring + MyBatis(非Ajax版) Sping MVC + Spring + MyBatis(Ajax版) Sping MVC + Spring + MyBatis(Ajax版 + JavaConfig) Spring Boot + MyBatis

spring+mybatis整合,org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class &#39;${jdbc.driverClassName}

在使用spring+mybatis时会出现Cannot load JDBC driver class ${jdbc.driverClassName}之类的出错. 原因是在spring里使用org.mybatis.spring.mapper.MapperScannerConfigurer 进行自动扫描的时候,设置了sqlSessionFactory 的话,可能会导致PropertyPlaceholderConfigurer失效,也就是用${jdbc.username}这样之类的表达式,将无法获取到

Spring+MyBatis整合

1.创建一个web工程.工程名为ssm 2.导入Spring,MyBatis,Oracle和MySQL以及MyBatis提供的与Spring整合的插件包 mysql的jar文件:mysql-connector-java-5.1.7-bin.jar oracle的jar文件:ojdbc5.jar c3p0的jar文件:c3p0-0.9.1.2.jar mybatis的jar文件: asm-3.3.1.jar cglib-2.2.2.jar commons-logging-1.1.1.jar log

ssm: struts+ spring + mybatis 整合

其中: mybatis作为持久层操作: struts 作MVC框架: spring 管理组件的一个框架,跟mybatis的一个整合,管理数据源.事务等. 开发步骤:-----------------------------------------后端后端: spring+mybatis, 持久到数据库中,单元测试1.创建web系统,导入jar包: spring的jar包: mybatis的jar包: 数据库的jar包: 数据连接池的jar包:(dbcp,pool): 日志jar包: junit单

Spring MVC Spring MyBatis 整合 - 快速上手

我个人比较喜欢写注释,在工作中对注释的重要性看的也比较高,所以大部分文字都在注释中,代码外的文字会写的偏少,关键能懂就行 先看一下整合后的工程目录(单工程,多工程以后会采用maven) 5个package分别对应 action, entity, mapper(也就是DAO,采用动态代理), service, service 实现类 resources 下 相关资源文件: db.properties: 数据库连接参数 log4j.properties: 日志 applicationContext-