持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第11天,点击查看活动详情
实现mybatis中的增删改查
mybatis中的增删改写法类似
@Test
public void testInsert() throws IOException {
//获得核心配置文件的输入流
InputStream is = Resources.getResourceAsStream("MyBatis-config.xml");
//获得SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//获得SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
//获得sql的会话对象SqlSession 是mybatis提供的操作数据库的对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//获取userMapper的代理实现类对象
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int result = mapper.insertUser();
System.out.println("结果"+result);
sqlSession.commit();
sqlSession.close();
}
@Test
public void testUpdate() throws IOException {
//获得核心配置文件的输入流
InputStream is = Resources.getResourceAsStream("MyBatis-config.xml");
//获得SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//获得SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
//获得sql的会话对象SqlSession 是mybatis提供的操作数据库的对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//获取userMapper的代理实现类对象
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.updateUser();
sqlSession.commit();
sqlSession.close();
}
@Test
public void testdeleteUser() throws IOException {
//获得核心配置文件的输入流
InputStream is = Resources.getResourceAsStream("MyBatis-config.xml");
//获得SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//获得SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
//获得sql的会话对象SqlSession 是mybatis提供的操作数据库的对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//获取userMapper的代理实现类对象
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.deleteUser();
sqlSession.commit();
sqlSession.close();
查询功能
分为单行和多行
resultType:设置结果类型,即查询的数据要转换为的java类型
resultMap:自定义映射,处理多对一或一对多的映射关系
@Test
public void testGetUserById() throws IOException {
InputStream is=Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
SqlSession sqlSession=sqlSessionFactory.openSession(true);
UserMapper mapper=sqlSession.getMapper(UserMapper.class);
User userById = mapper.getUserById();
System.out.println(userById);
}
@Test
public void testGetAllUser() throws IOException {
InputStream is=Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
SqlSession sqlSession=sqlSessionFactory.openSession(true);
UserMapper mapper=sqlSession.getMapper(UserMapper.class);
List<User> list = mapper.getAllUser();
list.forEach(System.out::println);
}
获取sqlsession的工具类
public class SqlSessionUtil {
public static SqlSession getSqlSession() {
SqlSession sqlSession=null;
try {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
sqlSession= sqlSessionFactory.openSession(true);
} catch (IOException e) {
e.printStackTrace();
}
return sqlSession;
}
}