mybatis可以集成在spring中或者是springboot中,两种方式的使用略有不同,可以支持xml映射和注解两种方式
1、注解:
(1)在application.properties中添加配置
mybatis.type-aliases-package=com.database_02.mybatis_02_2.entity
author.realname=tomcat
author.nickname=nginx
(2)entity实体定义
public class Author {
private Long id;
@JSONField(name="real_name")
private String realName;
@JSONField(name="nick_name")
private String nickName;
// SET和GET方法
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
}
(3)dao层封装sql操作
@Mapper
public interface AuthorMapper {
@Insert("insert into t_author(real_name, nick_name) values(#{real_name}, #{nick_name})")
int add(@Param("realName") String realName, @Param("nickName") String nickName);
@Update("update t_author set real_name = #{real_name}, nick_name = #{nick_name} where id = #{id}")
int update(@Param("real_name") String realName, @Param("nick_name") String nickName, @Param("id") Long id);
@Delete("delete from t_author where id = #{id}")
int delete(Long id);
@Select("select id, real_name as realName, nick_name as nickName from t_author where id = #{id}")
Author findAuthor(@Param("id") Long id);
@Select("select id, real_name as realName, nick_name as nickName from t_author")
List<Author> findAuthorList();
}
(4)service层逻辑封装使用
@Service("mybatis.authorService")
public class AuthorService {
@Autowired
private AuthorMapper authorMapper;
public int add(String realName, String nickName) {
return this.authorMapper.add(realName, nickName);
}
public int update(String realName, String nickName, Long id) {
return this.authorMapper.update(realName, nickName, id);
}
public int delete(Long id) {
return this.authorMapper.delete(id);
}
public Author findAuthor(Long id) {
return this.authorMapper.findAuthor(id);
}
public List<Author> findAuthorList() {
return this.authorMapper.findAuthorList();
}
}
2.xml映射
(1)在resource/mybatis/AuthorMapper.xml,添加application.properties配置
mybatis.mapper-locations=classpath*:mybatis/*Mapper.xml
author.realname=tomcat
author.nickname=nginx
(2)entity实体映射
public class Author {
private Long id;
@JSONField(name="real_name")
private String realName;
@JSONField(name="nick_name")
private String nickName;
// SET和GET方法
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
}
(3)mapper
public interface AuthorMapper2 {
Author findAuthor(@Param("id") Long id);
}
(4)service层
@Service("mybatis.authorService2")
public class AuthorService2 {
@Autowired
private AuthorMapper2 authorMapper;
public Author findAuthor(Long id) {
return this.authorMapper.findAuthor(id);
}
}
3.总结:
(1)mybatis注解及xml两种使用方式,添加jar配置即可。
(2)这里仅是基本的使用。