广西建设行政主管部门官方网站公司企业网站开发
MyBatis快速开发https://blog.csdn.net/weixin_51882166/article/details/129204439?spm=1001.2014.3001.5501
使用Mapper代理方式完成
定义与SQL映射文件同名的Mapper接口 ,将Mapper接口和SQL映射文件放置同一目录结构
新建接口和包:
将Mapper接口和SQL映射文件放置同一目录结构
右键重写编译:
运行后点击:
查看Mapper接口是否是和SQL映射文件在同一目录结构:
设置SQL映射文件的namespace属性为Mapper接口的全限定名
在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持类型参数和返回值类型一致。
按照上面的信息在Mapper定义方法:
因为修改了UserMapper.xml文件的路径,所有在mybatis-config.xml文件里需要重新填写路径:
编码
通过SqlSession的getMapper方法获取Mapper接口代理对象
调用对应方法完成sql执行
完整代码:
import mapper.UserMapper;
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 pojo.User;import java.io.IOException;
import java.io.InputStream;
import java.util.List;public class MyBatisDemo2 {public static void main(String[] args) throws IOException {//加载mybatis核心配置文件,获取sqlSessionFactory对象String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//获取sqlsession对象执行sql语句SqlSession sqlSession = sqlSessionFactory.openSession();//执行sql
// List<User> users = sqlSession.selectList("test.selectAll");//获取UserMapper接口代理对象UserMapper userMapper = sqlSession.getMapper(UserMapper.class);List<User> users = userMapper.selectAll();System.out.println(users);//释放资源sqlSession.close();}
}
查看运行结果:
如果Mapper接口名称与SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载。
执行后再次执行代码运行后:
运行后成功执行查询。