目录
前言
1. xml配置方式开发步骤
2. 注解方式开发步骤
前言
mybatis 是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。
mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。本篇博客将给大家介绍下MyBatis的两种开发方式以及使用流程。
mybatis 是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。
mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。本篇博客将给大家介绍下MyBatis的两种开发方式以及使用流程。
1. xml配置方式开发步骤
① 导入MyBatis的坐标和其他相关坐标
org.mybatis mybatis3.4.5 mysql mysql-connector-java5.1.6 runtime junit junit4.12 test log4j log4j1.2.12
② 创建user数据表
③ 编写User实体类
public class User {
private int id;
private String username;
private String password;
//省略get、set和toString方法
}
④ 编写映射文件UserMapper.xml
select * from User
⑤ 编写核心文件SqlMapConfig.xml
⑥ 编写测试类
//加载核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
//获得sqlSession工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行sql语句
List userList = sqlSession.selectList("userMapper.findAll");
//打印结果
System.out.println(userList);
//释放资源
sqlSession.close();
2. 注解方式开发步骤
这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编写Mapper映射文件了。
① 导入MyBatis的坐标和其他相关坐标
org.mybatis mybatis3.4.5 mysql mysql-connector-java5.1.6 runtime junit junit4.12 test log4j log4j1.2.12
② 创建user数据表
③ 编写User实体类
public class User {
private int id;
private String username;
private String password;
//省略get、set和toString方法
}
④ 编写UserMapper接口
public interface UserMapper {
@Select("select * from user")
List findAll();
}
⑤ 编写核心文件SqlMapConfig.xml
⑥ 编写测试类
//加载核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
//获得sqlSession工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession(true);
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List all = mapper.findAll();
for (User user : all) {
System.out.println(user);
} 


