Mybatis笔记1
Mybatis
持久层框架,数据访问层
mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动,创建连接,创建statement等繁杂的过程,使用ORM思想实现了结果集的封装
ORM:Object Relational Mappaging对象关系映射,就是把数据库表和实体类及实体类的属性对应起来,让我们可以操作实体类就实现操作数据库表
环境搭建注意事项:
mybatis的映射配置文件位置必须和dao接口的包结构相同
映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名
映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名
好处:在开发中无需在写dao的实现类,写完接口我们的操作就结束了。剩下的功能将有mybatis为我们实现
mybatis的入门案列(不写dao的实现类)
//1.读取配置文件,目的:把配置文件,数据库的信息读取进来
//2.创建SqlSessionFactory工厂
//3.使用工厂生产SqlSession对象
//4.使用SqlSession创建Dao接口的代理对象
//5.使用代理对象执行方法
//6.释放资源
public class MybatisTest {
public static void main(String[] args) throws IOException {
//1.读取配置文件,目的:把配置文件,数据库的信息读取进来
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.创建SqlSessionFactory工厂
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
//3.使用工厂生产SqlSession对象
SqlSession session = factory.openSession();
//4.使用SqlSession创建Dao接口的代理对象
IUserDao userDao = session.getMapper(IUserDao.class);
//5.使用代理对象执行方法
List<User> users = userDao.findAll();
for(User user:users){
System.out.println(user);
}
//6.释放资源
session.close();
in.close();
}
}
运行报错:log4j:ERROR setFile(null,true) call failed.FileNotFoundException (设备未就绪。)
修改一下log4j文件的路径就好了
使用注解方式配置
public interface IUserDao {
@Select("select * from user")
List<User> findAll();
}
2.使用class属性指定被注解的dao全限定类名
<mappers>
<mapper class="com.itheima.dao.IUserDao"/>
</mappers>
相关文章