Mybatis=====注解

第一,要写一个接口,这个接口不需要对应的实现类,在方法上写上对应的增(@Insert),删(@Delete),改(@Update),查(@Select);

 

第二,配置好Configuration.xml文件;

 

第三,写一个测试类,读入configuration.xml,创建一个SqlSessionFactory对象,由SqlSessionFactory对象对数据库进行操作。在进行数据库操作之前,一定要注册第一步中的接口,不然系统无法识别我们自己写的接口。

 

以下是详细的代码:

 

//PersonMapper 接口
 
public interface PersonMapper {
 
@Select("SELECT * FROM person")
 
public List<Person> getAll();
 
@Select("SELECT * FROM person WHERE id = #{id}")
 
public Person getPerson(@Param("id") int id);
 
@Update("UPDATE person SET sex=#{sex} WHERE id = #{id}")
 
public int updPerson(@Param("id")int id,@Param("sex") String sex);
 
@Insert("INSERT INTO person(id,age,sex,name,password) VALUES(null,#{age},#{sex},#{name},#{password})")
 
public void insertPerson (Person p);
 
@Select("DELETE FROM person WHERE id=#{id}")
 
public void delPerson(@Param("id")int id);
 
@Update("UPDATE person SET sex=#{sex}, name=#{name},age=#{age}, password=#{password}  WHERE id=#{id}")
 
public void updatePerson(Person p);
 
}
 
public class PersonImpl{
 
public static void main(String[] args) {
 
SqlSessionFactory factory = null; InputStream is = TestIbatis.class.getClassLoader().getResourceAsStream("Configuration.xml");
 
factory = new SqlSessionFactoryBuilder().build(is);
 
//使用注解的时候一定要将XXXMapper注册一下,跟XML配置namespace一样
 
factory.getConfiguration().addMapper(PersonMapper.class);
 
//如果不注册Mapper的话,老是报Type interface com.souvi.ibatis.xxxMapper is not known to the MapperRegistry异常
 
SqlSession sqlSession = factory.openSession();
 
PersonMapper mp = sqlSession.getMapper(PersonMapper.class);
 
Person person = new Person();
 
person.setId(1);
 
person.setName("杨辉");
 
person.setAge(100);
 
mp.updatePerson(person);
 
sqlSession.commit();
 
}
 
}
 
  
posted @ 2019-10-23 15:27  流氓大队长  阅读(184)  评论(0编辑  收藏  举报