精华内容
下载资源
问答
  • spring和mybatis整合所需的jar包
  • Spring和Mybatis整合版本问题

    千次阅读 2017-12-13 21:12:31
    Spring和Mybatis整合时,由于Sring框架好人Mybatis框架以及Spring和Mybatis整合包版本不兼容问题,会出现如下异常 java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.get...

    在Spring和Mybatis整合时,由于Sring框架好人Mybatis框架以及Spring和Mybatis整合包版本不兼容问题,会出现如下异常

    java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer;
        at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:85)
        at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62)
        at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)
        at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
        at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
        at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:358)
        at com.sun.proxy.$Proxy9.selectOne(Unknown Source)
        at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:163)
        at cn.itcase.dao.UserDaoImpl.findUser(UserDaoImpl.java:41)
        at cn.itcase.test.DaoTest.test(DaoTest.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
     

    解决方法:更换Spring_Mybatis整合包版本,具体版本对照如下

    MyBatis-Spring MyBatis Spring
    1.0.0 and 1.0.1 3.0.1 to 3.0.5 3.0.0 or higher
    1.0.2 3.0.6 3.0.0 or higher
    1.1.0 or higher 3.1.0 or higher 3.0.0 or higher
    1.3.0 or higher 3.4.0 or higher 3.0.0 or higher


    展开全文
  • Spring和Mybatis整合导入的依赖

    千次阅读 2020-08-16 11:00:58
    spring和mybatis整合需要导入的依赖: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> &...

    spring和mybatis整合需要导入的依赖:

    <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
            <dependency>
                <!--mybatis的依赖-->
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.4.6</version>
            </dependency>
            <!--mybatis和spring集成的依赖-->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>1.3.1</version>
            </dependency>
            <!--mysql驱动依赖-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.32</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>
            <!--junit测试-->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
            <!--  spring依赖  -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>5.0.3.RELEASE</version>
            </dependency>
            <!--spring事务-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>5.0.3.RELEASE</version>
            </dependency>
            <dependency>
            <!--    spring操作数据库    -->
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>5.0.3.RELEASE</version>
            </dependency>
            <!--阿里的连接池-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.0.9</version>
            </dependency>
        </dependencies>
        <build>
            <!--目的是把src/main/java目录中的xml文件包含在输出结果中,输出classes中-->
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.properties</include>
                        <include>**/*.xml</include>
                    </includes>
                    <filtering>false</filtering>
                </resource>
            </resources>
        </build>

     

    展开全文
  • 这里不做过多解释,主要是把spring和mybatis整合起来,自己在网上找了很久发现获取sqlsession对象的方法比较少 首先还是jar文件一个不能少这个可以自己准备也可以去我上传的资源中找到 mysql表 下面直接上...

    这里不做过多解释,主要是把spring和mybatis整合起来,自己在网上找了很久发现获取sqlsession对象的方法比较少

    首先还是jar文件一个不能少这个可以自己准备也可以去我上传的资源中找到

    mysql表


    下面直接上配置

    1、配置User类(工具类)
    package domain;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.mybatis.spring.SqlSessionTemplate;
    import com.sun.org.apache.bcel.internal.generic.Select;
    public class User {
    private SqlSessionTemplate sqlsession;
    public SqlSessionTemplate getSqlsession() {
    return sqlsession;
    }
    public void setSqlsession(SqlSessionTemplate sqlsession) {
    this.sqlsession = sqlsession;
    }
    public void getUser(int id){
    System.out.println(sqlsession.selectOne("mapping.userMapper.getUser",id));
    }
    }

    2、配置UserMapper.xml
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD
    Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd
    ">
    <!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
    例如namespace="test.mb.mapping.userMapper"就是test.mb.mapping(包名)+userMapper(userMapper.xml文件去除后缀)
    -->
    <mapper namespace="mapping.userMapper">
    <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复
    使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
    resultType="test.mb.domain.User"就表示将查询结果封装成一个User类的对象返回
    User类就是users表所对应的实体类
    -->
    <!--
    根据id查询得到一个user对象
    -->
    <select id="getUser" parameterType="int" resultType="java.util.Map">
    select * from user where id=#{id}
    </select>
    </mapper>

    3、spring.xml文件
    <?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:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/tx
    ">
    <数据源>
    <bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName">
    <value>org.gjt.mm.mysql.Driver
    </value>
    </property>
    <property name="url">
    <value>jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8
    </value>
    </property>
    <property name="username">
    <value>root</value>
    </property>
    <property name="password">
    <value>root</value>
    </property>
    </bean>
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"></property>
    <property name="configLocation" value="mapping/mybatisconf.xml"></property>
    </bean>
    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
    <constructor-arg index="0" ref="sqlSessionFactory" />
    </bean>
    <bean id="getuser" class="domain.User">
    <property name="sqlsession" ref="sqlSessionTemplate">
    </property>
    </bean>
    </beans>

    4、配置mybatisconf.xml文件
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC
    "-//mybatis.org//DTD
    Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd
    ">
    <configuration>
    <mappers>
    <mapper resource="mapping/userMapper.xml"/>
    </mappers>
    </configuration>

    5、配置Test测试类
    package mapping;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import domain.User;
    public class Test1 {
    public static void main(String[] args) {
    ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml");
    User user = (User)ac.getBean("getuser");
    user.getUser(1);
    }
    }

    测试结果

    展开全文
  • spring和mybatis整合的dao两种开放方式

    万次阅读 多人点赞 2016-04-29 19:48:22
    这里的spring是指springframework,现在的spring已经在各个层次都有自己的一套解决方案,orm层有springdata,web有springmvc业务层有springframework,大家有时间可以自己研究下,这里只探讨spring和mybatis整合的...

    spring是service层框架,这里的spring是指springframework,现在的spring已经在各个层次都有自己的一套解决方案,orm层有springdata,web有springmvc业务层有springframework,大家有时间可以自己研究下,这里只探讨spring和mybatis整合的dao开发
    其实spring和mybatis整合时,dao的开发是围绕mybatis的,由于mybatis提供了mapper代理机制,所以除了原始开发另一种就是mapper代理开发
    spring和mybatis整合的各自的jar包当然是少不了的,所以我们需要导入:
    唯一需要注意的就是需要导入一个整合包:mybatis-spring-1.2.5.jar
    如果要使用c3p0数据库连接池,需要导入相关jar包,如果使用二级缓存也需要导入相关jar包
    逆向工程的的jar包也是必须的,这里贴出所有jar包:
    这里写图片描述
    1:利用数据库,逆向生成mapper.及po类,以及xml文件,就是dao
    这里写图片描述
    生成代码:
    这里写图片描述
    逆向工程可以参考,这篇博文:http://blog.csdn.net/do_bset_yourself/article/details/51276517
    当然也可以参考官方文档:http://www.mybatis.org/generator/configreference/xmlconfig.html
    ,也可以自己手写dao代码,
    2:整合配置文件,需要注意的是,数据库连接是配置在spring配置文件中的,mybatis的配置文件可以要也不可以不要,不过建议留下,为了程序的可读性着想,以及mapper映射文件还是建议在mybatis中配置,以及二级缓存,配置,逆向工程配置,db配置如下:
    spring配置:

    <?xml version="1.0" encoding="UTF-8"?>  
    <beans xmlns="http://www.springframework.org/schema/beans"  
           xmlns:aop="http://www.springframework.org/schema/aop"  
           xmlns:context="http://www.springframework.org/schema/context"  
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
           xmlns:tx="http://www.springframework.org/schema/tx"  
           xsi:schemaLocation="http://www.springframework.org/schema/beans   
                               http://www.springframework.org/schema/beans/spring-beans.xsd  
                               http://www.springframework.org/schema/aop   
                               http://www.springframework.org/schema/aop/spring-aop.xsd  
                               http://www.springframework.org/schema/context  
                               http://www.springframework.org/schema/context/spring-context.xsd  
                                 http://www.springframework.org/schema/tx   
                               http://www.springframework.org/schema/tx/spring-tx.xsd  
                               ">  
    
          <!--                   配置数据库连接池 -->
      <!--     加载jdbc配置 -->
    <context:property-placeholder location="classpath:jdbcInfo.properties"/>
    <bean id="dataSourse" class="com.mchange.v2.c3p0.ComboPooledDataSource">  
    <property name="user" value="${username}"/>  
    <property name="password" value="${password}"/>  
    <property name="jdbcUrl" value="${url}"/>  
    <property name="driverClass" value="${driver}"/>  
    <property name="acquireIncrement" value="5"/>  
    <property name="maxPoolSize" value="50"/>  
    <property name="initialPoolSize" value="5"/>  
    </bean>  
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
         <property name="dataSource" ref="dataSourse" />  
        <property name="configLocation" value="classpath:mybatis/configuration.xml"></property>  
      </bean> 
    <!-- 配置业务层的注入 -->  
    <bean id="studentService" class="com.leige.service.impl.StudentServiceImpl">  
    <!-- 
    原始开发注入dao
    <property name="studentDao" ref="studentDao"/>   -->
    <!-- mapper代理开发注入mapper代理 -->
    <property name="mapper" ref="studentMapper"></property>
    </bean>  
    <!-- dao层开发有两种方式,一种是原始开发,
    原始开发需要到实现类继承SqlSessionDaoSupport类
    注入sqlsessionfactory类
    一种是mapper代理开发 -->
    <!-- <bean id="studentDao" class="com.leige.dao.impl.StudentDaoImpl">     
       <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>  
    </bean> -->
     <!-- 另一种就是mapper代理开发 ,需要指定mapperInterface接口类型和sqlsessionFactory-->
     <bean id="studentMapper" class="org.mybatis.spring.mapper.MapperFactoryBean" scope="singleton">
         <property name="mapperInterface" value="com.leige.dao.mapper.StudentMapper"/>
           <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
     </bean>
    </beans>  

    mybatis配置:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
      PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    
    
    <!--  首先在全局配置中配置支持懒加载 -->
    
        <settings>  
            <setting name="lazyLoadingEnabled" value="true"/>  
            <setting name="aggressiveLazyLoading" value="false"/>      
              <setting name="logImpl" value="LOG4J"/>
          <!--     二级缓存实现,虽mybatis是默认就是开启二级缓存的但是我还是习惯写在这里,告诉其他开发者
          已经使用第三方二级缓存,建议二级缓存不要乱用,需要选择一些更新少的的对象来支持二级缓存
           -->
              <setting name="cacheEnabled" value="true"/>
        </settings>  
    
        <typeAliases>
            <package name="com.leige.domain"/>
        </typeAliases>
    
    
    <!--   将操作sql集合加入配置文件 -->
      <mappers>
        <package name="com.leige.dao.mapper"/>
      </mappers>
    </configuration>

    二级缓存配置:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
      PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    
    
    <!--  首先在全局配置中配置支持懒加载 -->
    
        <settings>  
            <setting name="lazyLoadingEnabled" value="true"/>  
            <setting name="aggressiveLazyLoading" value="false"/>      
              <setting name="logImpl" value="LOG4J"/>
          <!--     二级缓存实现,虽mybatis是默认就是开启二级缓存的但是我还是习惯写在这里,告诉其他开发者
          已经使用第三方二级缓存,建议二级缓存不要乱用,需要选择一些更新少的的对象来支持二级缓存
           -->
              <setting name="cacheEnabled" value="true"/>
        </settings>  
    
        <typeAliases>
            <package name="com.leige.domain"/>
        </typeAliases>
    
    
    <!--   将操作sql集合加入配置文件 -->
      <mappers>
        <package name="com.leige.dao.mapper"/>
      </mappers>
    </configuration>

    db配置

    driver=com.mysql.jdbc.Driver
    url=jdbc\:mysql\:///test
    username=root
    password=
    

    日志配置

    # Global logging configuration
    log4j.rootLogger=DEBUG, stdout
    # MyBatis logging configuration...
    #log4j.logger.org.mybatis.example.BlogMapper=DEBUG
    # Console output...
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

    原始dao开发,需要写接口,接口代码不再贴出,service层没有写的必要,这里只做演示,service没有实际意义,dao开发方式不同,spring配置也不一样,我两种都写在xml中,大家可以仔细看一下:
    dao实现类需要继承SqlSessionDaoSupport类,并在spring容器中注入sqlsesionfactory,父类中会自己创建sqlsession,我们在使用时获取就好,而且需要注意的是开启,关闭session也不需要我们处理了,方法执行完毕spring会自动关闭session**注意要将sqlsesionfactory配置为单例**

    package com.leige.dao.impl;
    
    import org.mybatis.spring.support.SqlSessionDaoSupport;
    
    
    
    import com.leige.dao.StudentDao;
    import com.leige.domain.Student;
    
    public class StudentDaoImpl extends SqlSessionDaoSupport implements StudentDao {
    
        @Override
        public void add(Student student) {
            getSqlSession().insert("com.leige.dao.StudentMapper.insert",student);
        }
    
    }
    

    相应配置

    <bean id="studentDao" class="com.leige.dao.impl.StudentDaoImpl">     
       <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>  
    </bean>

    **第二种dao开发方式:
    这里dao就没有实体代
    码了,只需要在service层调用即可,**

    package com.leige.service.impl;
    
    import com.leige.dao.mapper.StudentMapper;
    import com.leige.domain.Student;
    import com.leige.service.StudentService;
    
    public class StudentServiceImpl implements StudentService {
    //第一种
    /*  StudentDao studentDao;
        public void setStudentDao(StudentDao studentDao) {
            this.studentDao = studentDao;
        }
        */
    //第二种
        StudentMapper mapper;
        public void setMapper(StudentMapper mapper) {
            this.mapper = mapper;
        }
    
        @Override
        public void add(Student stu) {
            //studentDao.add(stu);
            mapper.insert(stu);
        }
    
    }
    

    mapper代理就是实体的dao实现类:
    相关配置:

     <!-- 另一种就是mapper代理开发 ,需要指定mapperInterface接口类型和sqlsessionFactory
     class要指定org.mybatis.spring.mapper.MapperFactoryBean,这个类会自动根据我们的接mapper和mapper.xml生成代理-->
     <bean id="studentMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
         <property name="mapperInterface" value="com.leige.dao.mapper.StudentMapper"/>
           <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
     </bean>

    综合测试类:

    package com.leige.test;
    
    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import com.leige.dao.mapper.StudentMapper;
    import com.leige.domain.Student;
    import com.leige.domain.StudentExample;
    import com.leige.service.StudentService;
    
    public class App {
        @Test
        public void testReverse(){
            SqlSession session=SqlUtils.getSession();
            StudentMapper mapper=session.getMapper(StudentMapper.class);
    
            StudentExample studentExample=new StudentExample();
    
            studentExample.setOrderByClause("sid desc");
            System.out.println( mapper.selectByExample(studentExample));
        }
        /**
         * 测试原始dao开发
         */
        @Test
        public void testSpring(){
        ApplicationContext context=new ClassPathXmlApplicationContext("classpath:spring/applicationConext.xml");
        StudentService service=(StudentService) context.getBean("studentService");
        Student stu=new Student();
        stu.setAge(19);
        stu.setName("磊哥");
        service.add(stu);
        }
        /**
         * 测试mapper代理开发
         */
        @Test
        public void testSpring2(){
        ApplicationContext context=new ClassPathXmlApplicationContext("classpath:spring/applicationConext.xml");
        StudentService service=(StudentService) context.getBean("studentService");
        Student stu=new Student();
        stu.setAge(19);
        stu.setName("磊哥2");
        service.add(stu);
        }
    }
    

    很抱歉,这里关于spring整合mybatis没有说太多,因为没有什么可说的,唯一需要说的就是整合包的导入,然后就是配置文件,配置我都贴在上面了,大家自己可以查看下,详细解释都写在配置文件中了

    最后提一句,大家学习完mybatis建议接着学习springmvc,这样就可以很快做个小项目了,在学习中记不住东西,学完就忘记,是很正常的事,所以一定要做好笔记,忘记的时候,拿出来就立马可以做出来,这点很重要,最重要的是思想,虽然mybatis框架很简陋,但是功能很强大,也涉及了很多设计思想和模式,值得我们去学习.

    展开全文
  • mybatis学习笔记(17)-spring和mybatis整合

    千次阅读 2016-03-02 12:35:00
    本文主要将如何将spring和mybatis整合,只是作简单的示例,没有使用Maven构建。并展示mybatisspring整合后如何进行原始dao开发mapper代理开发。
  • 1、整合spring和mybatis的时候出错:Initialization of bean failed; nested exception is java.lang.reflect.MalformedParameterizedTypeException 加载applicationContext.xml时创建sessionFactory失败。 ...
  • spring和mybatis的整合

    千次阅读 2018-03-22 11:29:27
    一,导入jar包 1.spring包 2.mybatis包 3.mybatis-spring整合jar包二,配置文件编写 1.spring代理数据库连接池,SQLSessionFactory的创建,并且代理dao层接口的实现类. 2.在service层可以直接注入dao层接口来使用...
  • 本人是一名物联网工程专业大二的学生,是互联网浪潮中一朵小小的浪花,写博客即是为了记录...Spring整合MyBatis 步骤: 1、新建maven项目 2、加入maven依赖 1)spring依赖 2)mybatis依赖 3)MySQL驱动 4)sp..
  • Spring boot Mybatis 整合(完整版)

    万次阅读 多人点赞 2017-08-16 15:59:47
    Mybatis注解方式有兴趣的,可以查看我的另一篇:Spring boot Mybatis 整合(注解版) 注解方式更加简洁简单,极大程度的提高了开发速度。如果大家需要使用更高的版本比如springboot2.0,请参照我最新的博客...
  • spring和mybatis整合的关键:org.mybatis.spring.mapper.MapperScannerConfigurer 类作用 整合处理要org.mybatis.spring.SqlSessionFactoryBean之外,还需要这个,扫描所有的mapper。 ————————...
  • SpringMVC、Spring和Mybatis整合之web.xml

    千次阅读 2016-12-11 09:35:50
    SpringMVC、Spring和Mybatis整合之web.xml中大致配置内容。
  • 报错信息是:org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [spring-mybatis.xml]; nested exception is java.io....
  • Spring和Mybatis整合的步骤

    千次阅读 2018-06-15 15:28:43
    1.先配置Spring的XML文件:applicatoinContext.xml  在配置文件里面配置好连接池这里用的是C3P0需要导jar包 (注:Spring+Mybatis整合包也需要导入) C3P0jar包:C3P0 Bean配置:另一种方法配置C3P0 使用配置文件...
  • 上篇文章中,我们已经完成了OSGI应用中Spring和Mybatis框架的整合,本文就来介绍一下,如何在其他Bundle中,使用Mybatis框架来操作数据库。为了方便演示,我们新建一个新的Plug-in Project工程,名称为...
  • jdbCTemplate是dao层的解决方案,mybatis也是dao层的解决方案 Spring中JDBCTemplate的使用: 创建数据源(实现datasource的接口) 创建JDBCTemplate对象通过数据源来实例化 JDBCTemplate的使...
  • spring和mybatis整合方式一

    千次阅读 2017-12-09 16:42:28
    需要的jar包:传送门(需要花点积分哦) ...第一种方式:重点在于mybatis的注释映射, SpringMVC的配置注释映射,spring整合mybatis的配置 web.xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-i
  • 谈到SSM,我在网上看了很多整合教程,我也跟着一起整合过,都有大大小小的问题,所以今天元旦假期,我就抽一上午写出我自己的教程,一是Spring和MyBatis的整合,二是加上SpringMVC,即SSM大功告成。首先我得说一下我...
  • Spring和MyBatis框架整合的小案例

    千次阅读 2019-01-23 12:07:55
    作为Bean容器,Spring框架提供了IOC机制,可以接管所有组件的创建工作并进行依赖管理,因而整合的主要工作就是把MyBatis框架使用中所涉及的核心组件配置到Spring容器中,交给Spring来创建管理。 整合开始-----&...
  • Ehcache在SqlMapConfig.xml打开,在映射文件中配置<cache type="org.mybatis.caches.ehcache.EhcacheCache"> SqlSessionFactory又Spring管理。代码测试后发现没有使用Ehcache。 ehcache要在Spring中配置吗?
  • 在整合Spring和mybatis过程中遇到了一些问题,主要是jar包有无jar包版本不一致的问题: 主要说两个: 一个是在用dbcp连接池时,dbcp版本2.x不兼容1.x,所以在配置时也是不同的,下面是官网给出的版本配置(另一篇...
  • IntelliJ IDEA使用Maven创建Spring和Mybatis工程,出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)异常的解决方法
  • 必须遵循:mapper.xmlmapper.java文件同名且在一个目录 -->
  • 在创建maven项目的时候,会遇到在pom.xml配置文件里面引入了依赖(dependency),但是在Marven dependencies里面却看不到jar包,可以从这几个方面去解决...2:找到中央仓库的setting.xml文件,修改中央仓库的idna...
  • 版本:Spring:3.1.4、Mybatis:3.1.1、Mybatis-Spring:1.1.1; 背景: config.properties配置文件信息 Properties代码  ##数据库(mysql|mssql|oracle...) environment=mysql jdbc.driver=...
  • 首先我们来看看mybatis简单的使用方法. 我们需要配置一个UserDao.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 338,636
精华内容 135,454
关键字:

spring和mybatis

spring 订阅