Mybatis使用 注解配置

1. 当注解 在 Mybatis中时, 会 十分的 简便(除了 查(select)以外)

      首先 在 Mybatis.xml 文件里面 : 配置改变一下

         
             
         

2.. Interface 里面 :  

            增加 删除    

    @Insert("insert into tbemployee values(default,#{empName},#{empSex},#{empBirth},#{empSalary},2)")
public void insertEmp(TbEmployee  emp);    


@Delete("delete from tbemployee   where emp_id = #{empId}")
public void deleteEmp(Integer empId); 

      直接就在 方法 上面 写

调用;      SqlSession s = sf.openSession();
IEmployeeMapper  empDao = s.getMapper(IEmployeeMapper.class);

/*TbEmployee e = new TbEmployee();
e.setEmpName("行型");
e.setEmpSex(1);
e.setEmpBirth(new Date());
e.setEmpSalary(8900.0);

empDao.insertEmp(e);

s.commit();*/

empDao.deleteEmp(13);

s.commit();         


 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

3. 但是 在 查询时 就会 比较 麻烦

                @Select("select * from tbemployee")
@Results(value={
@Result(id=true,column="emp_id",property="empId"),
@Result(id=false,column="emp_name",property="empName"),
@Result(id=false,column="emp_sex",property="empSex"),
@Result(id=false,column="emp_birth",property="empBirth"),
@Result(id=false,column="emp_salary",property="empSalary")
})
public List findEmp(); 


调用时:

     SqlSession s = sf.openSession();
IEmployeeMapper  empDao = s.getMapper(IEmployeeMapper.class);

List list = empDao.findEmp();


4. 还可以 使用  Map可以 直接 简单 使用,会把 Map自动的 填充

        @Select("select * from tbemployee")
public List> findEmp1();

    

调用: SqlSession s = sf.openSession();
IEmployeeMapper  empDao = s.getMapper(IEmployeeMapper.class);

List<Map> vs = empDao.findEmp1();
for(Map m: vs){      这是 数据库的列名
System.out.println(m.get("emp_id")+"\t"+m.get("emp_name"));
}



5. 注解使用连接查询

Interface::

@Select("select a.*,b.dept_name from sbemp a,sbdept b where a.dept_id=b.dept_id and a.dept_id=#{deptid}")
public List> findbys(Map param);

调用:  SqlSession s = sf.openSession();
Idept Iemps=s.getMapper(Idept.class);
Map paa=new HashMap();
paa.put("deptid", 2);

List> pas=Iemps.findbys(paa);
for(Map ss:pas){
                                                  对应的 数据库的  列名
System.out.println(">>>>"+ss.get("emp_name"));

System.out.println("<<<"+ss.get("dept_name"));
}





你可能感兴趣的:(mybatis)