mybatis基本配置及执行
使用了mybatis首先需要两个配置文件,一个是mybatis-config.xml,是mybatis的基础配置文件,配置数据库的地址、用户名、密码、别名信息、映射配置文件位置以及一些全局配置;另一个配置文件是mapper.xml,这是实体与表的映射文件,定义了映射规则以及一些SQL语句。
配置文件配置全局配置文件
mapper配置文件
select * from users where id = #{id}
执行流程
了解了配置文件之后,进行了解执行的整体流程,首先程序会先加载mybatis-config.xml配置文件,根据配置文件内容创建SqlSessionFactory对象,然后,通过SqlSessionFactory创建SqlSession对象,SqlSession接口中定义了执行SQL语句所需的各种方法,通过SqlSession对象执行配置文件中的定义的SQL语句,完成相应的数据操作,最后通过SqlSession提交事务,关闭SqlSession对象
创建SqlSessionFactory
SqlSessionFactory是Mybatis的核心,可以通过SqlSessionFactoryBuilder获得,SqlSessionFactoryBuilder从mybatis的配置文件构建出SqlSessionFactory实例
public static SqlSessionFactory createFactory(){
// 获取到mybatis-config.xml配置文件,进而构建SqlSessionFactory
InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("mybatis-config.xml");
return new SqlSessionFactoryBuilder().build(is);
}
获取SqlSession
通过SqlSessionFactory实例,可以获取到SqlSession的实例,sqlSession提供了在数据库执行SQL命令所需的所有方法,可以通过SqlSession实例来直接执行已映射的SQL语句
老版本执行
public static SqlSession getCurrentSession(){
SqlSessionFactory factory = createFactory();
return factory.openSession();
}
SqlSession session = getCurrentSession();
// selectOne方法的两个参数 1、sql的唯一标识(namespace+id) 2、sql所需要的参数
User user = session.selectOne("com.zhanghe.study.mybatis.mapper.UserMapper.selectUser",2);
System.out.println(user);
// 关闭session
session.close();
新版本执行
由于老版本操作时容易出现一些问题,新版本的mybatis进行了改善,将整个mapper文件的命名空间映射为一个接口,每个mapper中的sql语句映射为接口中的方法
public interface UserMapper {
User selectUser(Integer id);
}
session = getCurrentSession();
// mybatis为接口创建代理对象
UserMapper userMapper = session.getMapper(UserMapper.class);
User user1 = userMapper.selectUser(2);
System.out.println(user1);
session.close();
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777