Mybatis使用 注解配置

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

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

          <mappers>
              <mapper class="com.xt.mapper.IEmployeeMapper"/>
         </mappers>

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<TbEmployee> findEmp(); 


调用时:

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

List<TbEmployee> list = empDao.findEmp();


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

        @Select("select * from tbemployee")
public List<Map<String, Object>> findEmp1();

    

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

List<Map<String, Object>> vs = empDao.findEmp1();
for(Map<String, Object> 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<Map<String,Object>> findbys(Map<String,Object> param);

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

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

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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值