1、Mybatis 注解在刚开始学习 Mybatis 注解的时候,总是遇到错误 Type interface com.souvi.ibatis.xxxMapper is not known to the MapperRegistry,在网上搜索相关的解决方案时,得到的答案都不怎么详细,但知道了 Mybatis 注解一定要注册自己写的接口类,不然就会老报开头提到的这个错误。经过一段时间的学习后,想在这里和大家分享一下 mybatis 注解的使用,以基础数据的增、删、改、查为例。第一,要写一个接口,这个接口不需要对应的实现类,在方法上写上对应的增(Insert),删(Delete),改 (Update
2、),查(Select);第二,配置好 Configuration.xml 文件;第三,写一个测试类,读入 configuration.xml,创建一个 SqlSessionFactory 对象,由SqlSessionFactory 对象对数据库进行操作。在进行数据库操作之前,一定要注册第一步中的接口,不然系统无法识别我们自己写的接口。以下是详细的代码:1 /PersonMapper 接口2 3 public interface PersonMapper 4 5 Select(“SELECT * FROM person“)6 7 public List getAll();8 9 Select(“
3、SELECT * FROM person WHERE id = #id“)10 11 public Person getPerson(Param(“id“) int id);12 13 Update(“UPDATE person SET sex=#sex WHERE id = #id“)14 15 public int updPerson(Param(“id“)int id,Param(“sex“) String sex);16 17 Insert(“INSERT INTO person(id,age,sex,name,password) VALUES(null,#age,#sex,#name
4、,#password)“)18 19 public void insertPerson (Person p);20 21 Select(“DELETE FROM person WHERE id=#id“)22 23 public void delPerson(Param(“id“)int id);24 25 Update(“UPDATE person SET sex=#sex, name=#name,age=#age, password=#password WHERE id=#id“)26 27 public void updatePerson(Person p);28 29 30 31 pu
5、blic class PersonImpl32 33 public static void main(String args) 34 35SqlSessionFactory factory = null; InputStream is = TestIbatis.class.getClassLoader().getResourceAsStream(“Configuration.xml“);36 37 factory = new SqlSessionFactoryBuilder().build(is);38 39 /使用注解的时候一定要将 XXXMapper 注册一下,跟 XML 配置 names
6、pace 一样40 41 factory.getConfiguration().addMapper(PersonMapper.class);42 43 /如果不注册 Mapper 的话,老是报 Type interface com.souvi.ibatis.xxxMapper is not known to the MapperRegistry 异常44 45 SqlSession sqlSession = factory.openSession();46 47 PersonMapper mp = sqlSession.getMapper(PersonMapper.class);48 49 Person person = new Person();50 51 person.setId(1);52 53 person.setName(“杨辉“);54 55 person.setAge(100);56 57 mp.updatePerson(person);58 59 sqlSmit();60 61 62 63 64 65