介绍在SpringBoot中集成mybatis和druid以及自定义TypeHandler
创建数据库表
xml方式
在pom.xml添加mybatis,druid,mysql驱动配置
在application.yml中配置mybatis
数据库信息相关配置
启动文件相关配置
说明:@MapperScan扫描注入指定的包名下Mapper接口注入容器
编写数据库表对应的Student实体类
编写StudentDao Mapper接口
编写StudentDao.xml Mapper.xml
编写StudentService
编写StudentController
在浏览器访问:http://localhost:8080/students得到结果
使用纯注解方式
StudentDao添加方法selectStudentListByAnnotation
StudentService添加方法selectStudentListByAnnotation
StudentController調用
在浏览器访问:http://localhost:8080/students得到与xml访问相同的结果
解决上面返回json数据的问题
从上面json的数据可以看出parentPhone和netName是多条数据通过逗号拼接成的一个字段,还有city是json字符串组成的文本这样前端拿到数据可能还需要进行处理成集合再遍历出来;city是一个json字符串文本,要想转化成json还需要一番周折,那么作为认真负责的后台开发的我们可以使用Mybatis的TypeHandler将parentPhone和netName转化成集合,将city转化成标准的json方便前端绑定数据。
处理逗号拼接的字符串为集合
首先我们看之前在application.yml中配置mybatis的一段代码
修改一下Student实体属性为集合
自定义typehandler
说明:setNonNullParameter方法会在保存数据库之前执行,我们在此方法将保存的数组使用逗号拼接还原数据库存储方式其他方法是从数据库取出数据时mybatis将把数据映射成实体类执行,此时我们将逗号拼接的字符串转换为数组形式
验收逗号拼接字符串转换为数组成果
浏览器输入http://localhost:8080/students可以看到原先逗号拼接的字符串已经转换为集合对象
解决最后一个问题:将city转化成标准的json方便前端绑定数据
定义CityBean
修改Student将CityBean作为他的属性
定义JsonCityBeanTypeHandler
如果是存储的是json集合字符串可以这样
修改student表添加一个visited字段(数据随便插入的不要当真哈!)
定义VisitedBean
定义JsonListTypeHandler
测试结果,浏览器输入:http://localhost:8080/students结果如下:
领取专属 10元无门槛券
私享最新 技术干货