MyBatis快速入门
1.MyBatis两个核心
MyBatis
有两个核心:一个是核心配置文件另一个是映射文件
核心配置文件中来设置连接数据库
映射文件写的是Sql
语句用来操作数据库
2.核心配置文件中如何配置?
我这里使用的MySql8
版本
①配置数据源
②引入映射文件
目录
3.映射文件配置
namespace
要和Java
接口中的全类名一致,id
要和接口中的方法名一致为了保证唯一标识
接口代码
在insert、update等标签内部写sql
语句,切记id
要和方法名一致
4.测试
@Test
public void testInsert() throws IOException {
//获取核心配置文件的输入流
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//获取SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//获取SqlSessionFactory对象 根据当前的核心配置文件所对应的输入流来创建我们的SqlSessionFactory
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
//获取sql的会话对象SqlSession(不会自动提交事务),是MyBatis提供的操作数据库的对象
//SqlSession sqlSession = sqlSessionFactory.openSession();
//获取sql的会话对象SqlSession(会自动提交事务),是MyBatis提供的操作数据库的对象
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//获取UserMapper的代理实现类对象 在这个方法的底层他会帮我们创建一个实现类 然后把当前对象的实现类进行了返回
//因为我们的接口不能创建对象 所以这个方法的底层用的是代理模式,然后通过代理模式帮助我们来创建mapper接口的代理实现类
//他是通过接口的全类名来找到我们的映射文件,在通过我调用的方法来找到映射文件中的sql语句来执行并将结果返回
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//调用mapper接口中的方法,实现添加用户信息的功能
int insertUser = mapper.insertUser();
//提供sql以及的唯一标识找到sql并实现,唯一标识是namespace.sqlId
//int insert = sqlSession.insert("com.ch.mybatis.mapper.UserMapper.insertUser");
System.out.println("结果 " + insertUser);
//提交事务
//sqlSession.commit();
//关闭会话
sqlSession.close();
}