MyBatis核心配置文件
获取SqlSession对象
public class MybatisUtil {
private static SqlSessionFactory sqlSessionFactory ;
static{
try {
//MyBatis核心配置文件路径
String resource = "mybatis-config.xml";
//文件流
InputStream inputStream = Resources.getResourceAsStream(resource);
//获取sqlSessionFactory对象
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
//通过sqlSessionFactory对象获取SqlSession
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
映射的 SQL 配置文件
select * from Blog where id = #{id}
测试案例
public class UserDaoTest {
@Test
public void test(){
//第一步获取sqlSession对象
SqlSession sqlSession = MybatisUtil.getSqlSession();
try {
//执行sql
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//获取结果
List userList = mapper.getUserList();
//遍历结果
for (User user : userList) {
System.out.println(user);
}
}catch (Exception e){
e.printStackTrace();
}finally {
//关闭sqlSession
sqlSession.close();
}
}
@Test
public void getUserById(){
//第一步获取sqlSession对象
SqlSession sqlSession = MybatisUtil.getSqlSession();
try {
//执行sql
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//获取结果
User userById = mapper.getUserById(1);
//输出结果
System.out.println(userById);
}catch (Exception e){
e.printStackTrace();
}finally {
//关闭sqlSession
sqlSession.close();
}
}
@Test
public void addUser(){
//第一步获取sqlSession对象
SqlSession sqlSession = MybatisUtil.getSqlSession();
try {
//执行sql
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//获取结果
int conut = mapper.addUser(new User(4, "牛牛", "1212"));
if(conut >0)System.out.println("添加成功");
//提交事务 ,这里必须手动提交事务,不然添加不成功 ,增删改都需要提交事务
sqlSession.commit();
}catch (Exception e){
e.printStackTrace();
}finally {
//关闭sqlSession
sqlSession.close();
}
}
@Test
public void updateUser(){
//第一步获取sqlSession对象
SqlSession sqlSession = MybatisUtil.getSqlSession();
try {
//执行sql
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//获取结果
int conut = mapper.updateUser(new User(4, "龙龙", "9999"));
if(conut >0)System.out.println("修改OK");
//提交事务 ,这里必须手动提交事务,不然添加不成功
sqlSession.commit();
}catch (Exception e){
e.printStackTrace();
}finally {
//关闭sqlSession
sqlSession.close();
}
}
@Test
public void deleteUser(){
//第一步获取sqlSession对象
SqlSession sqlSession = MybatisUtil.getSqlSession();
try {
//执行sql
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//获取结果
int conut = mapper.deleteUser(4);
if(conut >0)System.out.println("删除成功");
//提交事务 ,这里必须手动提交事务,不然添加不成功
sqlSession.commit();
}catch (Exception e){
e.printStackTrace();
}finally {
//关闭sqlSession
sqlSession.close();
}
}
}



