版权声明:转载请联系博主,一般是同意的 https://blog.csdn.net/weixin_43647224/article/details/84846248
整合MyBatis之前,先搭建一个基本的Spring Boot项目开启Spring Boot。然后引入mybatis-spring-boot-starter
可参考上一篇
在pom中引入:注意版本问题
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
我引入是mysql 连接池是druid
<!-- 数据库 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency>
Druid数据源配置
spring:
datasource:
druid:
url: jdbc:mysql://localhost:3306/spdb?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
username: root
password: infosys668
initial-size: 5
max-active: 20
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
filters:
commons-log.connection-logger-name: stat,wall,log4j
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: select 1 from dual
mybatis:
# type-aliases扫描路径
# type-aliases-package:
# mapper xml实现扫描路径
mapper-locations: classpath:mapper/*.xml
property:
order: BEFORE
上述配置不但配置了Druid作为连接池,而且还开启了Druid的监控功能。 其他配置可参考官方wiki——https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
使用MyBatis
使用的库表:
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`username` varchar(50) COLLATE utf8_bin NOT NULL,
`password` varchar(200) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'admin', '$2a$10$2SEEBYecvUr0MeP7.afSvu1VQmnsRPR.2tLRx0pIX3vgMUjZUcOqG');
INSERT INTO `user` VALUES ('2', 'user', '$2a$10$2SEEBYecvUr0MeP7.afSvu1VQmnsRPR.2tLRx0pIX3vgMUjZUcOqG');
创建对应实体:
package com.yxkj.aha.entity;
/**
* @Auther: zch
* @Date: 2018/12/6 08:38
* @Description:
*/
public class user {
private Integer id;
private String username;
private String password;
//省略get set
}
创建一个包含查询的userMapper:
package com.yxkj.aha.mapper;
import com.yxkj.aha.entity.user;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Auther: zch
* @Date: 2018/12/6 08:37
* @Description:
*/
@Component
@Mapper
public interface userMapper {
@Select("select * from user")
List<user> selectOne();
}
测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class userMapperTest {
@Autowired
userMapper userMapper;
@Test
public void selectOne() {
System.out.println(userMapper.selectOne());
}
}