MyBatis HelloWorld

tech2026-01-20  5

MyBatis HelloWorld

1 HelloWorld简单版

创建一张测试表创建对应的javaBean创建mybatis配置文件,sql映射文件测试

MyBatis操作数据库

1、创建MyBatis全局配置文件

MyBatis 的全局配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息、如数据库连接池信息等。指导着MyBatis进行工作。我们可以参照官方文件的配置示例。

2、创建SQL映射文件

映射文件的作用就相当于是定义Dao接口的实现类如何工作。这也是我们使用MyBatis时编写的最多的文件。

测试

根据全局配置文件,利用SqlSessionFactoryBuilder创建SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream); 使用SqlSessionFactory获取sqlSession对象。一个SqlSession对象代表和数据库的一次会话 SqlSession openSession = factory.opSession(); 使用SqlSession根据方法id进行操作 SqlSession openSession = factory.openSession(); try { Object one = openSession.selectOne("com.atguigu.mybatis.dao.EmployeeMapper.getEmpById", 1); System.out.println(one); } finally { openSession.close(); }

2 HelloWorld-接口式编程

创建一个Dao接口修改Mapper文件测试

使用SqlSession获取映射器进行操作

SqlSession openSession = factory.openSession(); try { // 3.获取接口的实现类对象 // 会为接口自动创建一个代理对象,代理对象去执行增删改查方法 EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class); Employee empById = mapper.getEmpById(1); System.out.println(empById); } finally { openSession.close(); }

SqlSession

SqlSession 的实例不是线程安全的,因此是不能被共享的。SqlSession每次使用完成后需要正确关闭,这个关闭操作是必须的SqlSession可以直接调用方法的id进行数据库操作,但是我们一般还是推荐使用SqlSession获取到Dao接口的代理类,执行代理对象的方法,可以更安全的进行类型检查操作

总结

接口式编程 原生: Dao ====> DaoImpl mybatis: Mapper ====> xxMapper.xmlSqlSession代表和数据库的一次会话;用完必须关闭;SqlSession和connection一样她都是非线程安全。每次使用都应该去获取新的对象。mapper接口没有实现类,但是mybatis会为这个接口生成一个代理对象。 (将接口和xml进行绑定)EmployeeMapper empMapper = sqlSession.getMapper(EmployeeMapper.class);两个重要的配置文件: mybatis的全局配置文件:包含数据库连接池信息,事务管理器信息等…系统运行环境信息 sql映射文件:保存了每一个sql语句的映射信息: 将sql抽取出来。
最新回复(0)