1.导入mybatis相关jar包(mybatis-3.4.6.jar)
2.配置mybatis-config.xml文件,通常放在resources目录下:
<?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>
<!--添加properties配置文件路径(外部配置、动态替换)-->
<properties resource="jdbc.properties"/>
<!--JDBC环境配置、选中默认环境-->
<environments default="MySqlDB">
<!--MySql数据库环境配置-->
<environment id="MySqlDB">
<!--事务管理-->
<transactionManager type="JDBC"/>
<!--连接池-->
<dataSource type="org.apache.ibatis.datasource.pooled.PooledDataSourceFactory">
<property name="driver" value="${jdbc.driver}"/>
<!-- &转义& -->
<property name="url"
value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mappers/UserMapper.xml"/>
</mappers>
</configuration>
3.mybatis-config.xml文件中的url,username,password动态的从jdbc.properties文件中获取。
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/*?useUnicode=true&characterEncoding=utf-8
jdbc.username=*
jdbc.password=*
4.导入log4j日志jar包(log4j-1.2.17.jar),配置log4j.properties文件
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
5.创建dao包,提供接口,如:
User getUserById(int id);
6.在resources(资源)目录下,创建mappers目录,创建UserMapper.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.test.mybatis.dao.UserDAO">
<select id="getUserById" parameterType="int" resultType="User">
select id,name,password,sex,birthday,regist_time from user
where id=#{id}
</select>
</mapper>
7.编写测试代码,导入junit包(junit-4.12.jar)
@Test
public void selectTest1() throws IOException {
//读取mybatis的配置文件,准备连接
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//通过sqlSessionFactory工厂获得factory对象
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
//通过factory工厂得到连接对象
SqlSession session = factory.openSession();
//通过连接对象获得接口实例,映射的代理类
UserDAO userDAO = session.getMapper(UserDAO.class);
User user = userDAO.getUserById(31);
System.out.println(user);
is.close();
session.close();
}