环境搭建
需要的pom依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
需要的配置文件
了解过Mybatis的知道它的常用配置文件有2个。
- mybatis-config.xml
- 配置数据源
- 配置别名
- 加载mapper.xml
- mapper.xml
- 存放sql语句
mybatis-config.xml
<!-- 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>
<!-- 和spring整合后 environments配置将废除 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理 -->
<transactionManager type="JDBC" />
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/test?characterEncoding=utf8"/>
<property name="username" value="username" />
<property name="password" value="password" />
</dataSource>
</environment>
</environments>
<!-- 加载mapper.xml -->
<mappers>
<!-- <package name=""> -->
<!-- 这种方式是将xml中的语句解析成MappedStatement并封装到Configuration -->
<mapper resource="mapper/DemoMapper.xml" ></mapper>
<!-- 这种方式是将对应接口方法上面对应的注解(如:@Select())语句解析成MappedStatement并封装到Configuration -->
<mapper class="com.mapper.DemoMapper" ></mapper>
</mappers>
</configuration>
mapper.xml 对应上面第一种添加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="com.wcblog.mybatis.mapper.DemoMapper">
<select id="queryTest" parameterType="Map" resultType="Map">
select * from test WHERE id =#{id}
</select>
</mapper>
mapper接口 对应上面第二种添加mapper的方式
public interface DemoMapper {
@Select("select * from test WHERE id =#{id}")
public Map queryTest(Map<String,Object> map);
}
测试mybatis可否使用的测试代码
public class Test {
public static void main(String[] args) throws Exception {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//创建SqlSessionFacory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
/******************************分割线******************************/
SqlSession sqlSession = sqlSessionFactory.openSession();
//获取Mapper
DemoMapper mapper = sqlSession.getMapper(DemoMapper.class);
Map<String,Object> map = new HashMap<String, Object>();
map.put("id","123");
System.out.println(mapper.queryTest(map));
sqlSession.commit();
sqlSession.close();
}
}