配置数据库连接池
做好准备工作之后,接下来最重要的就是要在pom.xml文件中添加数据库驱动和数据库连接池依赖。
添加MySQL驱动,这里如果不指定版本默认是8.0的版本,当然你也可以指定版本,8.0的版本这里有一问比较坑的问题:
1、MySQL数据库默认使用的是美国的时区,而我们连接的时候用的是中国的北京时间,然后比美国晚上8个小时,所以当我们在连接数据库的时候要设置一下时区为东八区ServerTimezone=UTC
2、驱动类
MySQL5.x的版本使用的驱动类是com.mysql.jdbc.Driver
MySQL8.x的版本使用的驱动类是com.mysql.cj.jdbc.Driver
所以这两个问题需要大家去注意一下,以免出现莫名其妙的bug
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
接着,添加数据库连接池,这里咱们使用最火的阿里开源的Druid。
Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBossDataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是阿里巴巴开发的号称为监控而生的数据库连接池!
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency>
集成Mybatis
添加Mybatis的依赖,我们使用最新的版本2.0.1
番外篇:
如果大家细心的话可能会发现,通常我们在集成一些SpringBoot提供支持的技术的时候,所添加的依赖都是以spring-boot-starter开头,格式:spring-boot-starter-xxx;但是刚才我们添加的Mybatis的依赖却是mybatis-spring-boot-starter,是以mybatis开头的,这个能其实是SpringBoot默认是不支持mybatis的,它默认支持的是它自己生态内的持久层框架JPA,由于SpringBoot是大势所趋,所以mybatis就主动去迎合SpringBoot生态,自己开发了mybatis的stater。以后大家凡是看到xxx-spring-boot-starter的依赖,都是SpringBoot没有主动提供支持的技术。
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
在pojo包下创建User对象,并实现序列化接口Serializable
public classUser implements Serializable{
privateIntegerid; // 用户id
private String username; //用户名
private Integer age; // 年龄
// 省略 setter、getter方法
}
配置数据源和mybatis的配置
在application.properties属性配置文件中配置数据源和mybatis相关配置
# 端口号
server.port=8080
#mapper xml 文件地址
mybatis.mapper-locations=classpath*:mapper/*Mapper.xml
# 数据库url
spring.datasource.url=jdbc:mysql://localhost:3306/kgc?characterEncoding=utf8&serverTimezone=UTC
# 数据库用户名
spring.datasource.username=root
# 数据库密码
spring.datasource.password=root
# 数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
创建UserMapper接口和对应的UserMapper.xml文件
在mapper包下创建UserMapper接口,并在接口中定义各一个方法
并在resource包下创建依次创建com/example/demo/mapper/UserMapper.xml
这里要注意的是接口名称要和映射文件的名称一致
————————————————
版权声明:本文为CSDN博主「AI课工场」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kgc_cn/article/details/107518279