< 一 > 主配置文件
<?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><!-- 配置数据源 --><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8" /><property name="username" value="root" /><property name="password" value="920619" /></dataSource></environment></environments><!-- 将 SQL 语句的配置文件导入 MYBATIS 的主配置文件 --><mappers><mapper resource="mybatis/sqlxml/UserDao.xml" /></mappers>
</configuration>
< 二 > 接口 UserDao
package mybatis.dao;import mybatis.model.User;public interface UserDao {public User getOne(int userId);
}
< 三 > 对应接口的 SQL 配置文件 UserDao.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="mybatis.dao.UserDao"><!-- id 为接口定义的方法名 resultType 为实体类的全类名 #{userId} 中的参数和方法名一致 --><select id="getOne" resultType="mybatis.model.User">select * from User where UserId = #{userId}</select>
</mapper>
< 四 > 调用配置文件的方法
package mybatis.service;import java.io.IOException;
import java.io.InputStream;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import mybatis.dao.UserDao;
import mybatis.model.User;public class UserService {public static void main(String[] args) {SqlSession session = null;try {// 读取配置文件InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");// 实例化 SQlSESSION 的工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);// 打开 SESSIONsession = sqlSessionFactory.openSession();// 将接口的字节码注入到配置文件UserDao userDao = session.getMapper(UserDao.class);// 调用配置文件的方法, 获取结果User user = userDao.getOne(1);System.out.println(user);} catch (IOException e) {e.printStackTrace();} finally {if(session != null){session.close();}}}
}