maven+spring+mybatis整合
1、pom.xml文件导入依赖包
mybatis-spring整合包
mybatis依赖包
mysql驱动包
spring依赖包
c3p0连接池依赖包
其中spring_mvc没有导入
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wbzkc</groupId>
<artifactId>MavernSpring--Mybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<!-- 版本可以自己选择 -->
<spring.version>4.2.4.RELEASE</spring.version>
</properties>
<dependencies>
<!-- mybatis和spring集成插件 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.1</version>
</dependency>
<!-- mybatis依赖包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.7</version>
</dependency>
<dependency>
<groupId>org.mysql</groupId>
<artifactId>mysql</artifactId>
<version>5.1.7</version>
</dependency>
<!-- spring依赖包 -->
<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-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</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-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.9</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1</version>
</dependency>
</dependencies>
</project>
2、mybatis配置文件Configuration.xml
扫描所有的pojo文件
<?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>
<typeAliases>
<package name="com.wbzkc.pojo"/>
</typeAliases>
</configuration>
3、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:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
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/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- 开启IOC注解 -->
<context:component-scan base-package="com.wbzkc"/>
<!-- 开启aop注解 -->
<aop:aspectj-autoproxy/>
<!-- 导入外部数据文件 -->
<context:property-placeholder location="datasource.properties"/>
<bean id="sqlSessionFaction" name="sqlSessionFaction" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 告知spring mybatis的配置文件在哪 -->
<property name="configLocation" value="Configuration.xml"/>
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 数据库链接 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${db.driver}"/>
<property name="jdbcUrl" value="${db.url}"/>
<property name="user" value="${db.username}"/>
<property name="password" value="${db.password}"/>
</bean>
<!-- 生成mapper代理对象 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.wbzkc.mapper"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFaction"/>
</bean>
<!-- 配备事务管理器 -->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
</beans>
3、javabean Dept.java
package com.wbzkc.pojo;
public class Dept {
private int dno;
private String dname;
private String dloc;
public int getDno() {
return dno;
}
public void setDno(int dno) {
this.dno = dno;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public String getDloc() {
return dloc;
}
public void setDloc(String dloc) {
this.dloc = dloc;
}
public String toString() {
return "Dept [dloc=" + dloc + ", dname=" + dname + ", dno=" + dno + "]";
}
}
4、DeptMapper.java和DeptMapper.xml
public interface DeptMapper {
Dept getByNo(int deptNo);
}
<?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.wbzkc.mapper.DeptMapper">
<resultMap type="Dept" id="DeptMap">
<id property="dloc" column="dloc"/>
<result property="dname" column="dname"/>
<result property="dloc" column="dloc"/>
</resultMap>
<select id="getByNo" parameterType="int" resultMap="DeptMap">
select
dno,dname,dloc
from department
where dno=#{deptNo}
</select>
</mapper>
5、DeptService和DeptServiceImpl
public interface DeptService {
Dept getByNo(int deptNo);
}
package com.wbzkc.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.wbzkc.mapper.DeptMapper;
import com.wbzkc.pojo.Dept;
import com.wbzkc.service.DeptService;
@Service("deptService")
public class DeptServiceImpl implements DeptService{
@Autowired
private DeptMapper deptMapper;
@Override
public Dept getByNo(int deptNo) {
return deptMapper.getByNo(deptNo);
}
}
6、测试
public class DeptTest {
public static void main(String[] args) {
ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
DeptService deptService = (DeptService) act.getBean("deptService");
System.out.println(deptService.getByNo(80));
}
}