1、小编在mysql中创建一个mybatis的数据库,字符集为【utf8mb4--UTF-8 Unicode】,如下图:
2、下图就是创建好的mybatis数据库,如下图:
3、然后创建两个表一个是employee和department表,如下图:
4、创建好的两个表如下图:
5、然后下图是小编的springboot项目的目录结构,整合的是druid数据源,如下图:
6、下图是这个springboot项目的pom文件,这里可以看到这里要整合的是mybatis,所以这里需要依赖【mybatis-spring-boot-starter】,然后因为还需要连接mysql数据库,所以这里依赖【mysql-connector-java】,然后又整合了druid数据源,所以这里还依赖【com.alibaba.druid】,如下图:
7、然后在application.yml配置文件中配置一下数据源,如下图:
8、下图是小编整合durid的druid的配置类,将application.yml配置文件中配置的属性配置的配就女蒿鸳置类中,由于需要配置duird监控,所以之类还配置了一个servlet和一个filter,如下图:
9、下图是小编的实体类Department,如下图:
10、下图是小编的实体类Employee,如下图:
11、下图是小编Deparme艘绒庳焰ntMapper文件代码,在这里使用mybatis注解,在类上加【@Mapper】注解告诉spring芟鲠阻缒boot这个是一个mapper,然后在方法上使用【@Select】【@Delete】【@Insert】【@Update】这几个注解使用mybatis,如下图:
12、下图是小编EmployeeMapper文件代码,在这里使用mybatis注解,在类上加【@Mapper】注解士涂鹪姘告诉springboot这个是一个mapper,然后在接口的方法上不使用注解,在下节中使用xml文件配置使用mybatis,如下图:
13、下图是小编DeptController类的代码,这个controller类中配置几个controller,如下图:
14、启动springboot项目,如下图:
15、打开浏览器访问controller,可以看到没有任何数据返回,是因为数据库中没有数据,如下图:
16、然后调用controller先给数据库中添加一条数据,可以看到又返回,指示id为null,如下图:
17、打开mysql数据库中可以看到,确实存入了数据,如下图:
18、然后解决返回的id为null的问题,在插入controller上加入【@Opt坡纠课柩ions(useGeneratedKe烤恤鹇灭ys=true,keyProperty=id)】,表示使用主键自动生成,主键名称为id,如下图:
19、然后再次在浏览器中调用插入controller,可以看到这次id有返回值,说明配置【@Options】成功,如下图:
20、然后这里如果我们有很多的mapper都在mapper的头部添加的话太麻烦了,所以这里我们去掉头部的【@Mapper】,如下图:
21、然后在主类方法头部加入【@MapperScan(value="con.jcnsh.mapper")】,这样就配置了全局扫描mapper,就不用每个mapper头部都加mapper注解了,如下图:
22、最后在浏览器中查询controller,说明全局配置mapper扫描成功,如下图: