mapper动态代理开发
所需:
SqlMapConfig.xml:核心文件,加载mapper配置文件
mapper接口:写业务逻辑的方法
mapper映射文件:写sql语句
pojo类:对应数据库表的属性
规则:
- mapper映射文件的namespace必须是mapper接口的全名
- mapper接口方法的名字要与mapper映射文件的sql的id一致
- mapper接口的返回值类型要与mapper映射文件sql标签的resultType一致
- mapper接口的入参类型要与mapper映射文件的parameterType一致
测试类:
String resource = "SqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
SqlSession sqlSession = sqlSessionFactory.openSession(true);
没有接口实现类了,于是这个方法会创建接口的实现类
usermapper mapper = sqlSession.getMapper(usermapper.class);
User user = mapper.find(16);
System.out.println(user);
SqlMapConfig.xml
<typeAliases>标签
定义单个别名
<typeAlias type="com.mybatis.entity.User" alias="user"/>
批量定义:别名为类的名字
<package name="com.mybatis.entity"/>
<mappers>标签
- <mapper resource="sqlmap/user.xml">:加载单个mapper映射文件
- <mapper class="mapper接口的全路径名"/>:需要接口和映射文件名相同,且放在统一目录下。前提:mapper代理开发
- <mapper url="'/>:废弃
- <package name="包“/>:需要接口和映射文件名相同,且放在统一目录下:前提:mapper代理开发