springboot 集成 mybatis
pom
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
yml
#resources目录下新建mapping文件夹,下面新建*Mapping.xml文件
#配置实体类包路径,多个用逗号连接
mybatis:
mapper-locations: classpath:mapping/*Mapping.xml
type-aliases-package: com.test.appInfoApi.entity,com.test.testUserPai.entity
configuration:
map-underscore-to-camel-case: true
#dao层包路径 showSql debug/off
logging:
level:
com:
test:
appInfoApi:
mapper: debug
启动类
//启动类配置注解
//多个逗号隔开
@MapperScan({"com.test.appInfoApi.mapper","com.test.testUserApi.mapper"})
实体
//实体映射数据表
@Table(name = "dictionary_entry")
public class DictionaryEntry implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "entry_name")
private String entryName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Column(name = "create_time")
private Date createTime;
}
dao
@Repository
public interface AppInfoMapper {
@Select("select * from app_info where appName = #{appName}")
AppInfo findByAppName(@Param("appName") String appName);
@Select("select * from dictionary_entry where " +
"(entry_name like CONCAT('%' , #{selectWords} , '%') or " +
"entry_content_ch like CONCAT('%' , #{selectWords}, '%') or " +
"entry_content_en like CONCAT('%' , #{selectWords}, '%') or " +
"entry_forShort_en like CONCAT('%' , #{selectWords}, '%')) and " +
"approve_state = #{approveState} and " +
"entry_creator_id = #{creatorId}")
List<DictionaryEntry> findBySelectWordsUser(@Param("selectWords")String selectWords,@Param("approveState") int approveState,@Param("creatorId") int creatorId);
}