SpringBoot+Mybatis+Oracle实现对数据库增删改查(附完整源码)
一、安装maven并配置阿里镜像
- 安装maven我就不多说了,网上教程很多,注意在配置文件中配置阿里镜像
- 常见问题:在IDEA中添加了本地maven,下载jar包还是很慢,原因是没走阿里服务器下载
- 解决方法:
进入IDEA的设置界面 File—Settings,选择IDEA自带的maven版本,配置文件地址可以选择自己本地的
二、数据库中新建用户表USER_TEST
- 我用的是oracle数据库,如果使用mysql的话改一下配置文件和依赖就行,后面会说
- 表结构如下
三、新建一个SpringBoot项目
-
File - New - Project中,选择新建Spring Initializr项目,点击Next
-
自定义包名和项目名,其他不用改,点击下一步
-
选择依赖。由于项目只实现简单的增删改查,所以选这四个就够用了。选完点击下一步
如果数据库是MySQL,在【SQL】里面找到【MySQL Driver】添加进去即可
-
选择项目名称和保存路径
四、编写代码
4.1 项目结构
-
我的整个项目包结构如下,先新建
controller
、dao
、entity
、service
四个包 -
这四个包跟启动类(
xxxApplication
)是平级的,这很重要!不然扫描不到包会出很多意想不到的问题
4.2 配置pom.xml文件
-
在
pom.xml
文件中添加依赖,目的是使用阿里巴巴的数据库连接池<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.9</version> </dependency>
还有一个可能会出现但不一定出现,并且我也没弄清楚什么原因的bug
4.3 配置application.properties文件
-
代码如下,注意图上标注的两处内容,其他不变
#配置端口号,可随意设置,默认为8080 server.port=8088 spring.datasource.url=jdbc:oracle:thin:@localhost:1521:orcl #oracle的用户名和密码 spring.datasource.username=system spring.datasource.password=manager spring.datasource.driver-class-name=oracle.jdbc.OracleDriver spring.datasource.max-idle=10 spring.datasource.max-wait=10000 spring.datasource.min-idle=5 spring.datasource.initial-size=5 #配置这句话,控制台输出sql语句 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl #mybatis扫描mapper文件的配置 mybatis.mapper-locations= classpath:mapper/*.xml #采用驼峰标识,解决 Mybatis resultType返回结果为null的问题 mybatis.configuration.map-underscore-to-camel-case=true
4.4 在entity包下建一个实体类:User
-
实体类的作用:
-
数据库中的一张表对应一个实体类:我这里数据库中的
USER_TEST
表对应实体类User
-
数据库表中的字段对应实体类的一个属性:实体类
User
的属性xId
对应数据库表USER_TEST
中的XID
字段,属性xName
对应数据库表中XNAME
字段,属性xAge
对应数据库表中的XAGE
字段 -
数据库表的一行数据对应实体类的一个对象:比如我们
new
一个实体类对象User user = new User();
现把它的各个属性赋值,user.xId = 1;
user.xName = "夏夏" ;
user.xAge = 20;
(举例用,实际情况不能像我这样赋值,因为实体类中的属性都是private
私有的,必须通过get
、set
方法访问)那么这个对象user
就可以对应数据库表USER
中的第一条数据 -
在
entity
包下新建一个User
类,代码如下
public class User {
private int xId; //对应数据库中的 XID
private String xName; //对应数据库中的 XNAME
private int xAge; //对应数据库中的 XAGE
//toString方法
@Override
public String toString() {
return "User{" +
"XID='" + xId + '\'' +
", XName='" + xName + '\'' +
", XAge='" + xAge + '\'' +
'}';
}
//以下是属性对应的get、set方法,IDEA可以按Alt+Insert快速生成以下代码
public int getxId() {
return xId