搭建mybatis测试项目
概览
- 创建项目
- 表结构
- 相关代码
- 运行
- 总结
创建项目
如下图,创建项目,maven依赖如下:
//maven依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
</dependency>
表结构
只创建了一张最简单的表User,包含两个字段,id和name
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
表数据一条
相关代码
实体类User
public class User {
private String name;
private Integer id;
//get setter
......
}
接口UserMapper
public interface UserMapper {
User selectUser(Integer id);
}
配置文件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.aby1993.mapper.UserMapper">
<select id="selectUser" resultType="com.aby1993.model.User">
select * from User where id = #{id}
</select>
</mapper>
配置文件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>
<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?characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
运行
测试代码App
public class App {
public static void main(String[] args) throws Exception {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession();
UserMapper mapper = session.getMapper(UserMapper.class);
User user = mapper.selectUser(1);
System.out.println(user);
session.close();
}
}
运行,成功查询出来数据,如下:
总结
mybatis源码的测试环境,已经搭好了,下一篇开始进行真正的源码分析,按照我的规划,是每周一到两篇。之所以我选择读源码从mybatis开始,是因为mybatis源码,个人感觉跟spring比起来,算是很简单的了,所以相对来说,比较容易理解。至于mybatis相关的使用,可以参考中文文档:mybatis.org/mybatis-3/z…,好了就这些,加油吧,今年形势不好。