一.配置环境
项目结构展示:
需要引入的包
我们可以看到 其中有mybatis-spring-1.3.1.jar 这是spring与mybatis连接的桥梁
二.配置文件
mybatis-config.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>
app.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:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
xsi:schemaLocation="http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="JDBC:mysql://127.0.0.1:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<property name="mapperLocations" value="classpath:sql/*.xml"></property>
</bean>
<mybatis-spring:scan base-package="com.zzu"/><!-- 扫描的是接口 -->
</beans>
我们将数据库连接池配置到了spring的配置文件中,就是dataSource,此中又可以配置SqlSessionFactoryBean其中第一行是配置dataSource,第二行是配置mybatis-config文件的地址,第三行是配置sql语句的位置。<mybatis-spring:scan> 标签就是扫描 base-package包中的接口
sql文件夹中area.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.zzu.area.IAreaDao">
<select id="getName" resultType="java.lang.String">
select name from area where code = #{code}
</select>
</mapper>
此中不再解释,在mybatis初识中有介绍。
IAreaDao中的代码
public interface IAreaDao {
String getName(String code);
}
Test类中代码
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.zzu.area.IAreaDao;
public class Test {
public static void main(String[] args) throws Exception {
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("app.xml");
IAreaDao areaDao = applicationContext.getBean(IAreaDao.class);
System.out.println(areaDao);
System.out.println(areaDao.getName("522732"));
applicationContext.close();
}
}
运行结果
测试数据
表结构