Mybatis 學習筆記二 與spring搭配
maven依賴
<!--解決辦法:mybatis的3.4.0及以上版本用mybatis-spring1.3.0及以上版本;
mybatis的3.4.0以下版本用mybatis-spring1.3.0以下版本。-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!--spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.4.RELEASE</version>
</dependency>
配置
mybatis配置
conf.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>
</configuration>
注意:保持基本配置即可;
spring配置
applicationContext.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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:conf.xml"/>
<property name="mapperLocations" value="classpath:mapper/**/*Mapper.xml"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!--UserMapper接口所在位置-->
<property name="basePackage" value="meng.mybatis.test"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
</beans>
mapper配置
userMapper.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="meng.mybatis.test.UserMapper">
<!-- resultType可以定義簡稱 -->
<select id="findUserByUserid" parameterType="int" resultType="meng.mybatis.test.User">
select * from users where id = #{id}
</select>
<select id="findUsers" resultType="meng.mybatis.test.User">
select * from users
</select>
</mapper>
meng.mybatis.test.UserMapper類
public interface UserMapper {
List<User> findUsers();
User findUserByUserid(int id);
}
測試
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
UserMapper userMapper = context.getBean(UserMapper.class);
userMapper.findUsers();