一、創建一個mavan項目

二、創建兩個module,dao層和entity層

三、在根層添加spring-context,spring-core,spring-beans,spring-jdbc,mybatis,mysql等dao層依賴
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.9.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
</dependencies>
</project>
四、在dao層創建一個StudentMapper接口
五、在接口內添加一個findAllStudent查詢學生方法
六、在dao層resources目錄創建一個mapper目錄用於存放Mapper.xml映射文件


Mapper.xml中所需要的映射信息及sql查詢語句,需要注意的是因為沒有mybatis-config.xml配置文件的配合,resultMap映射集的類型需要加上包名
<?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.nf.mapper.StudentMapper">
<resultMap id="resultStudent" type="com.nf.entity.Student">
<id property="id" column="stud_id"/>
<result property="name" column="name"/>
<result property="email" column="email"/>
<result property="dob" column="dbd"/>
</resultMap>
<select id="findAllStudent" resultMap="resultStudent">
select * from students
</select>
</mapper>
七、在resources目錄下創建applicationContext.xml Spring容器配置文件


applicationContext代碼如下:myDataSource連接池中記錄着連接信息,
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.cj.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/batis?serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true"></property>
<property name="user" value="root"></property>
<property name="password" value="1101"></property>
</bean>
<bean id="mySqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
//引用了myDataSource連接池
<property name="dataSource" ref="myDataSource"></property>
//在mapper目錄下找到Mapper.xml映射文件
<property name="mapperLocations" value="classpath*:mapper/*.xml"></property>
</bean>
</beans>
八、在entity層創建Student實體類,並使用快捷方式寫出get()set()方法
九、在dao層再創建一個test包寫一個Test類,在Test類中寫main()方法開始測試

測試代碼如下:
package com.nf.test;
import com.nf.mapper.StudentMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String args[]){
//實例化一個ClassPathXmlApplicationContext通過文件名查找方式找到
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//通過getBean方法找到applicationContext中的mySqlSessionFactory
SqlSessionFactory factory = (SqlSessionFactory) ac.getBean("mySqlSessionFactory");
SqlSession sqlSession = factory.openSession();
StudentMapper studao = sqlSession.getMapper(StudentMapper.class);
//通過findAllStudent()方法查詢數據庫打印出數據的長度
System.out.println(studao.findAllStudent().size());
}
}
十、測試結果成功,為七條

數據庫中的數據為七條,驗證成功




