mybatis-mapper代理
首先说一下idea连接数据库功能
点击右侧的database,选择mysql,输入用户名、密码、表名就可以连接(不得不说idea确实厉害)
回归正题,使用Mapper代理,首先创建一个接口UserMapper,然后将userMapper.xml放在UserMapper的同一目录之下,
在resource中创建
路径必须保持一致。
在mybatis-config.xml中使用mapper代理
<mappers> <!-- 加载sql映射文件--> <!-- <mapper resource="com/it/mapper/userMapper.xml"/>--> <!-- mapper代理,包扫描--> <package name="com.it.mapper"/> </mappers>
将名称空间进行修改
<!--名称空间--> <mapper namespace="com.it.mapper.UserMapper"> <select id="selectAll" resultType="User"> select * from tb_user; </select> </mapper>
这里的resultType直接使用user前,必须在mybatis-config.xml中使用别名
<!-- 别名,操控userMapper.xml resultType="com.it.pojo.User--> <typeAliases> <package name="com.it.pojo"/> </typeAliases>
测试
package com.it; import com.it.mapper.UserMapper; import com.it.pojo.User; 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 java.io.IOException; import java.io.InputStream; import java.util.List; //mybatis 代理开发 public class MyBatisDemo2 { public static void main(String[] args) { // 1、加载mybatis核心配置文件,获取sqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = null; try { inputStream = Resources.getResourceAsStream(resource); } catch (IOException e) { e.printStackTrace(); } SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); // 2、获取SqlSession对象,用来执行sql SqlSession sqlSession = sqlSessionFactory.openSession(); // 3、执行sql // List<Object> users = sqlSession.selectList("test.selectAll"); // 3.1获取usermapper接口的代理对象 UserMapper userMapper = sqlSession.getMapper(UserMapper.class); List<User> users = userMapper.selectAll(); System.out.println(users); // 4、释放资源 sqlSession.close(); } }
到这基本就完成了maven使用mybatis以及使用mapper代理,步骤比较繁琐,我还需要多次练习。