因為想看一下mybatis-Spring項目的代碼,所有從github上將源碼下載下來了,我看了一下,可能是測試類太多了,就沒有細找入口類,所以自己寫了一個主入口類,特此記錄(我本地已經安裝Mysql數據庫)
首先項目沒有數據庫驅動,所以添加一下
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> </dependency>
然后添加mapper接口類
package org.mybatis.spring.demo.mapper; public interface DemoMapper { String getById(); }
添加對應的xml文件,在resource/mapper/目錄下
<?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="org.mybatis.spring.demo.mapper.DemoMapper"> <select id="getById" resultType="String"> SELECT stu_id FROM record WHERE id = 1 </select> </mapper>
最后添加一個配置類
package org.mybatis.spring.demo; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.Resource; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.core.io.support.ResourcePatternResolver; import org.springframework.jdbc.datasource.DriverManagerDataSource; import javax.sql.DataSource; @Configuration @MapperScan("org.mybatis.spring.demo.mapper") public class DemoConfig { ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver(); @Bean public SqlSessionFactoryBean getSqlSessionFactoryBean(@Autowired DataSource dataSource) throws Exception{ SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); Resource[] resources = resourceResolver.getResources("mapper/*.xml"); bean.setMapperLocations(resources); return bean; } @Bean public DataSource dataSource(){ DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/test"); dataSource.setUsername("root"); dataSource.setPassword("root"); return dataSource; } }
添加一個主類做一下測試即可
package org.mybatis.spring; import org.mybatis.spring.demo.DemoConfig; import org.mybatis.spring.demo.mapper.DemoMapper; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class Main { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DemoConfig.class); DemoMapper bean = context.getBean(DemoMapper.class); System.out.println(bean.getById()); System.out.println(bean.toString()); } }
整體添加的目錄結構是這樣的
結束。