package com.powernode.mybatis.test; import com.powernode.mybatis.Spring6Config; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import java.io.IOException; import java.io.InputStream; public class MybatisCompleteTest { private static final Logger logger = LoggerFactory.getLogger(MybatisCompleteTest.class); public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Spring6Config.class); SqlSession sqlSession = null; try { SqlSessionFactoryBuilder sqlSessionFactoryBuilder = context.getBean("sqlSessionFactoryBuilder", SqlSessionFactoryBuilder.class); InputStream stream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory build = sqlSessionFactoryBuilder.build(stream); //开启会话(底层会开启事务) sqlSession = build.openSession(); //执行SQL语句 int insertCar = sqlSession.insert("insertCar"); //执行到这里没有异常就提交事务 logger.info("影响条数" + insertCar); logger.info(insertCar == 1? "成功" : "失败"); sqlSession.commit(); } catch (IOException e) { //回滚事务 if (sqlSession != null) { sqlSession.rollback(); } throw new RuntimeException(e); } finally { //关闭回话,释放资源 if (sqlSession != null) { sqlSession.close(); } } } }
package com.powernode.mybatis.test;
import com.powernode.mybatis.Spring6Config;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import java.io.IOException;
import java.io.InputStream;
public class MybatisCompleteTest
{
private static final Logger logger = LoggerFactory.getLogger(MybatisCompleteTest.class);
public static void main(String[] args)
{
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Spring6Config.class);
SqlSession sqlSession = null;
try
{
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = context.getBean("sqlSessionFactoryBuilder", SqlSessionFactoryBuilder.class);
InputStream stream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory build = sqlSessionFactoryBuilder.build(stream);
//开启会话(底层会开启事务)
sqlSession = build.openSession();
//执行SQL语句
int insertCar = sqlSession.insert("insertCar");
//执行到这里没有异常就提交事务
logger.info("影响条数" + insertCar);
logger.info(insertCar == 1? "成功" : "失败");
sqlSession.commit();
}
catch (IOException e)
{
//回滚事务
if (sqlSession != null)
{
sqlSession.rollback();
}
throw new RuntimeException(e);
}
finally
{
//关闭回话,释放资源
if (sqlSession != null)
{
sqlSession.close();
}
}
}
}
Mybatis事务的具体实现写法-----Mybatis框架
于 2023-08-23 16:32:27 首次发布