阿娇开发978 发表于 2016-11-24 08:15:38

spring3mvc 整合 mybatis

  主要用的包:mybatis-3.1.1 spring3 mybatis-spring-1.1.1 以及基本包等。
  遇到的几个问题罗列如下,以备忘。
  1、命名规则问题:这也是自己看外国的一些技术网站看到的,很是郁闷,过去ibatis对这方面要求不是很严格,新版本对此还是比较严格的。首先来看几个配置文件
  (1)spring 主配置文件:

<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mysql?useUnicode=true&amp;characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation">
<value>classpath:sqlconfig.xml</value>
</property>
<property name="mapperLocations" value="classpath*:com.mapper/*.xml"></property>
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource"><ref local="dataSource"/></property>   
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg>
<constructor-arg index="1" value="BATCH"></constructor-arg>
</bean>
<bean id="userMaper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.mapper.UserMaper"></property>
<property name="sqlSessionTemplate" ref="sqlSession"></property>
</bean>
<bean id="userServiceimp" class="com.service.UserServiceimp">
<property name="userMaper" ref="userMaper"></property>
</bean>
  这一行中的userMaper所定义的mapperInterface 是mybatis新加入的吧,看了一些文章对他的解释是映射器。
  (2)UserMaper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC      
"-//mybatis.org//DTD Mapper 3.0//EN"      
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.UserMaper">
<resultMap type="hashmap" id="user_resultmap">
<result column="sys_now" property="sys_now" />
</resultMap>
<select id="selectUser" parameterType="string" resultMap="user_resultmap">
selectsysdate() as sys_now
</select>   
</mapper>
  (3)UserMaper .java

package com.mapper;
import java.util.HashMap;
public interface UserMaper {
public HashMap selectUser(String id);
}

  这里要做到maper与xml中的namespace要统一,包括xml的名字都需要统一,否则会一直找不到这个xml非常的郁闷。
  2、包的问题
  原来的1.0.0的mybatis-spring 总是提示无法打开session后来升级到最新的包确实解决了。
页: [1]
查看完整版本: spring3mvc 整合 mybatis