iBatis 是Internet和abatis 的组合,提供的持久层框架包括sql Maps 和data access objects(DAO).
深刻理解ORM思想
Object-Relationl Mapping? O:JVM当中的Java对象。
例如:User user=new User(2,"lisi",25)
关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。
Mybatis可以把java对象 与 数据库表中的一条记录相互转换。
像User这样的类,有特殊的称呼,pojo,bean,domain
SqlSession对象是什么?
我们可以通过SqlSessionFactory来创建多个新的会话:SqlSession对象。
每个会话就相当于我不同的地方登陆一个账号去访问数据库,你也可以认为这就是之前JDBC中的Statement对象,会话之间相互隔离,没有任何关联。
重要的是,通过SqlSession可以完成几乎所有的数据库操作。
session 方法中含有一个String s参数,要知道这个s不是sql语句,而是
我们来尝试一下直接读取实体类,读取实体类肯定需要一个映射规则,比如类中的哪个字段对应数据库中的哪个字段,在查询语句返回结果后,Mybatis就会自动将对应的结果填入到对象的对应字段上。
1.首先编写实体类
2.在根目录下重新创建一个mapper文件夹,新建名为XxxMapper.xml的文件作为我们的映射器
XxxMapper.xml里的mapper会有一个namespace属性,这里的namespace一般是dao中的接口全限定名称,id一般是接口中方法的名称 这是规范
3.? mapper的namespace属性就是命名空间,每个Mapper都是唯一的,因此需要用一个命名空间来区分,它还可以用来绑定一个接口。resultType指定为定义的实体类,表示将数据库结果映射为Student类,然后就在标签中写入查询语句即可。