吹灭读书灯,一身都是月。——桂苓
使用纯注解开发,是将sql语句以注解的方式加在接口的方法上
- 建一个接口类:在传入零散值的时候注意变量的名称
public interface Iadmin02 {
@Select("select * from admin")
List<Admin> getAllAdmin();
@Select("select * from admin where id=#{id}")
Admin getAdminById(int id);
@Insert("insert into admin values(null,#{accName},#{password})")
int addAdmin(Admin admin);
//在传入两个或以上的参数(零散值)的时候要以以下两种方式(任选其一)传入
//如果必须要传入name和password作为名称时,要在方法中各个参数前加@param(“参数名”)
@Select("select * from admin where accname=#{arg0} and password=#{arg1}")
@Select("select * from admin where accname=#{param1} and password=#{param2}")
Admin login(String name,String password);
}
2.在mybatis.xml中将resource换成class指向接口,或者也可以指向该接口所在的包,意思是扫描该包底下的所有组件
<mappers>
<!-- <mapper resource="AdminMapper.xml"/>-->
<mapper class="com.qianfeng.pojo.Iadmin02"/>
</mappers>
3.测试类
public class TestAdmin02 {
@Test
public void test(){
SqlSession session = SessionUtil.getSession();
Iadmin02 mapper = session.getMapper(Iadmin02.class);
List<Admin> allAdmin = mapper.getAllAdmin();
for (Admin admin : allAdmin) {
System.out.println(admin);
}
SessionUtil.clossSession(session);
}
//传入一个参数查询
@Test
public void test02(){
SqlSession session = SessionUtil.getSession();
Iadmin02 mapper = session.getMapper(Iadmin02.class);
Admin adminById = mapper.getAdminById(1);
System.out.println(adminById);
SessionUtil.clossSession(session);
}
//传对象类型添加
@Test
public void test03(){
SqlSession session = SessionUtil.getSession();
Iadmin02 mapper = session.getMapper(Iadmin02.class);
int msdfjf = mapper.addAdmin(new Admin(0, "msdfjf", "666555"));
System.out.println(msdfjf);
SessionUtil.clossSession(session);
}
//传入两个参数进行查询
@Test
public void test04(){
SqlSession session = SessionUtil.getSession();
Iadmin02 mapper = session.getMapper(Iadmin02.class);
Admin ddddd = mapper.login("ddddd", "2541114");
System.out.println(ddddd);
SessionUtil.clossSession(session);
}
}