mybatis基础-API(4)
MyBatis相应API
SqlSession工厂对象SqlSessionFactory
SqlSessionFactory 有多个个方法创建 SqlSession 实例。常用的有如下两个:
自动提交:
@Test
//自动提交
public void test1() throws IOException {
//模拟user
UserQuery user = new UserQuery();
user.setName("tom");
user.setAge(18);
user.setPassword("4444");
user.setToken("aaaaaa");
//获得核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得session工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得session会话对象,自动提交不需要 sqlSession.commit();
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//执行操作
sqlSession.insert("userMapper.save",user);
//释放资源
sqlSession.close();
}
手动提交
//获得核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得session工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得session会话对象 不设置为true
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行操作
sqlSession.insert("userMapper.save",user);
//mysql需要执行更新操作需要提交事务,手动提交
sqlSession.commit();
//释放资源
sqlSession.close();
SqlSession会话对象
SqlSession 实例在 MyBatis 中是非常强大的一个类。包括所有执行语句、提交或回滚事务和获取映射器实例的方法。
执行语句的方法主要有:
int insert(String statement, Object parameter)
int update(String statement, Object parameter)
int delete(String statement, Object parameter)
操作事务的方法主要有:
void commit() //提交事务
void rollback() //回滚事务
mappper.xml sql语句配置
<?xml version="1.0" encoding="UTF-8" ?>
查询id=1的数据
public void test5() throws IOException {
//获得核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得session工厂对象
SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得session会话对象
SqlSession sqlSession =sqlSessionFactory.openSession();
//执行操作
UserQuery user =sqlSession.selectOne("userMapper.findById",1);
//打印数据
System.out.println(user);
//释放资源
sqlSession.close();
}