SpringBoot 零基础学习过程(三)mybatis数据库简单操作
通过上两章可以进行项目搭建、基础项目配置
本章我们主要是通过springboot+mybatis实现数据的插入和查询,删除和更新没有具体实现,大家可以自己动手试一下
主意:这个demo没有使用传统的mapper.xml配置模式,引入了tk.mybatis,所以如果你是一个使用传统mybatis的有可能有些差异,不过大同小异只不过是写法不一样而已。
1.管理创建项目、配置环境(只是一个小demo,没有写完整的配置信息,如果有需要完整配置大家可以看上一章的多环境配置信息)
主要列出了数据库的配置信息、mybatis扫描xml(具体没用用到)和实体的路径了,由于配置项比较简单就不贴代码了
2.在项目启动中定义扫描mapper目录(考虑这个mapper和上面的xml配置是不是有些重复?大神可以评论一下)
3.创建我们的实体类和mapper文件
实体类,引入了lombok包,主要可以省略一些get、set操作,这个包还有更强大的功能,有需要的大家可以继续尝试一下发掘;
mapper bean 定义,一个简单的操作,发现insert没有返回添加的主键,还是单独写了一个获取上一次插入id的方法,比较笨觉得,等待下个版本的demo升级吧。
4.为了配合公司三层结构的规则,提前加了一层service,大家也可以不写,不过建议还是通过controller调用service,再由service调用实际的mapper或者其他业务
定义了个接口,本想把这个接口定义成公共的一些操作,但是没有特别好的想法(笨),先暂时这样定义吧。。
service bean定义,并实现接口,进行实际的业务处理(就是简单地查询、插入。。。)
5.最后由控制器调用方法
最后贴出pom.xml的加载项
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.dreamplus</groupId> <artifactId>jdbc</artifactId> <version>0.0.1-SNAPSHOT</version> <name>jdbc</name> <description>springboot jdbc demo</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!-- Spring Boot Web 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- Spring Boot entity省略get、set --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> <scope>provided</scope> </dependency> <!--mybatis通用mapper依赖--> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.0.2</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
这个里面重点就是mysql、mysql连接池、mybatis、lombok、tk.mybatis(主要是有他的存在,才可以不使用原始的xml定义方式,不过个人觉得还是不够强大,等待后续挖掘吧)
通过这一章可以实现最起码的业务开发,但是实际的业务还是要比这个繁琐很多,包括异常处理、筛选器、返回数据统一等等,我们慢慢来完善它,就算整理到了线上的业务,也是有可以优化的,学无止境,没有最好嘛。
下一章准备优化mapper的操作,感觉目前的操作过于啰嗦,写一个相对完整的小业务出来。