步骤
1、创建项目
2、导包
3、数据库建表
4、配置全局配置文件
5、创建对象关系模型(POJO)
6、创建Mapper接口
7、在全局配置文件中注册接口
8、测试
1、创建项目
填写GroupId和ArtifactId,然后一路点击next即可;
2、导包
在POM文件中添加相关依赖(使用mybatis框架至少需要添加Mybatis和mysql-connector-java的依赖)
相关依赖以及可以访问 http://mvnrepository.com/ 进行查找
必须依赖
org.mybatis
mybatis
3.5.5
mysql
mysql-connector-java
8.0.20
其他依赖
junit
junit
4.13
test
log4j
log4j
1.2.17
3、数据库建表
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`username` varchar(40),
`birthday` date,
`gender` varchar(40),
`address` varchar(40),
PRIMARY KEY (`id`)
)
添加数据(添加一条简单的数据只是为了方便测试mybatis框架能否从数据库中获得数据)
INSERT INTO `user` VALUES (1, 'lin', '1997-08-17', '男', '汕头市');
4、配置全局配置文件
注:全局配置文件一般放于类路径下,即项目的resources目录下
该文件名取名为mybatis-config.xml(随意);
这里至少配置数据源用于访问数据库
5、创建对象关系模型(POJO)
创建User实体类,将数据库读取出来的数据封装给该对象
public class User {
private Integer id;
private String username;
private Date birthday;
private String gender;
private String address;
//以下省略了各个属性的get和set方法,以及同String方法
}
6、创建Mapper接口
Mapper接口应该放置于java目录下
文件名为UserDao.java
/**
* 注解式开发
*/
public interface UserMapper {
//这里将要执行的sql语句用注解的方式写在抽象方法上
@Select("select * from user")
List findAllUser();
}
7、在全局配置文件中注册接口
8、测试
public class MybatisTest {
/**
* 测试能否成功获取数据库中的数据
*/
@Test
public void test01() throws IOException {
// 1、读取配置文件(从类路径下开始读取)
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
// 2、创建SqlSessionFactory工厂
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory = builder.build(in);
// 3、使用工厂生产SqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
// 4、使用SQLSession创建Dao接口的代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 5、使用代理对象执行方法
List users = userMapper.findAllUser();
for (User user: users
) {
System.out.println(user);
}
// 6、释放资源
sqlSession.close();
in.close();
}
}
注意
映射文件注册用的是resource属性,接口式编程注册用的是class属性
对比如下:
映射文件注册
接口类注册