spring restful + MyBatis快速入门
为什么是restful
具体的解释大家可以百度百科,好处你可以百度出大把,概括一句话,这是目前的主流,无特殊需求的前提下,尽可能使用restful风格(特殊需求其实也不少)
为什么是MyBatis
相对于hibernate,MyBatis其实并没有那么方便,但我这里主要是基于这点考虑。如果是多表联合查询,hibernate的可定制化的复杂度远高于MyBatis,因为是完全的orm,性能优化的难度也远高于MyBatis。打个简单的比方,你把hibernate看成一个黑匣子,他很好用,但是如果你要对他进行定制化或者改良,他很不好用。类似于C++的STL。用起来很方便,写起来很痛苦。所以,用啥大家可以自己考虑,但我会偏好MyBatis
为什么是gradle
maven的依赖库冲突的解决没有gradle好,gradle全兼容maven,又有做的更好的地方,为啥不用呢?
怎么用MyBatis
通过@Mpaaer注解,库会自动生成代理类,来干具体的活。我们则要通过写增删改查的注解来实现各种操作。(这只是第一个例子,所以先麻烦点。实际可以用MyBatis的自动下划线驼峰转换)
代码入下
package com.example.demospringboot.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import com.example.demospringboot.domains.Employee;
@Mapper
public interface EmployeeMapper {
@Insert("insert into employee(name, emp_Id, deptCode, passport_No) values (#{name}, null, #{deptCode}, #{passportNo})")
@Options(useGeneratedKeys=true, keyProperty="empId")
public int createEmployee(Employee emp)