热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springBoot集合myBatis实现数据库交互

springMvc配置太复杂?试试boot啊新建一个mavenspringboot项目我上一篇配的那个就挺好,pom,在上一篇的基础上

springMvc配置太复杂?试试boot啊
这里写图片描述

新建一个maven springboot 项目
我上一篇配的那个就挺好,

pom,在上一篇的基础上加上myBatis的配置

<parent><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-parentartifactId><version>1.5.9.RELEASEversion><relativePath/> parent><properties><project.build.sourceEncoding>UTF-8project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding><java.version>1.8java.version>properties><dependencies><dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starterartifactId>dependency><dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-testartifactId><scope>testscope>dependency><dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-webartifactId>dependency><dependency><groupId>org.mybatis.spring.bootgroupId><artifactId>mybatis-spring-boot-starterartifactId><version>1.1.1version>dependency><dependency><groupId>mysqlgroupId><artifactId>mysql-connector-javaartifactId>dependency><dependency><groupId>junitgroupId><artifactId>junitartifactId><version>3.8.1version><scope>testscope>dependency>dependencies>
<build><plugins><plugin><groupId>org.springframework.bootgroupId><artifactId>spring-boot-maven-pluginartifactId>plugin>plugins>build>

1 先在resources中配好配置文件application.yml

server:port: 8010spring :datasource :url :你的数据库地址username :你的数据库用户名password : 你的数据库密码driver-class-name : com.mysql.jdbc.Driver#指定mybatis映射文件的地址mybatis :mapper-locations : classpath:mapper/*.xmlconfig-location : classpath:mybatis-config.xml

3 在application.yml中指定的位置配好myBatis的配置文件mybatis-config.xml


<configuration><typeAliases><typeAlias alias&#61;"Integer" type&#61;"java.lang.Integer" /><typeAlias alias&#61;"Long" type&#61;"java.lang.Long" /><typeAlias alias&#61;"HashMap" type&#61;"java.util.HashMap" /><typeAlias alias&#61;"LinkedHashMap" type&#61;"java.util.LinkedHashMap" /><typeAlias alias&#61;"ArrayList" type&#61;"java.util.ArrayList" /><typeAlias alias&#61;"LinkedList" type&#61;"java.util.LinkedList" /><typeAlias alias&#61;"pd" type&#61; "spring.unit.PageData" />typeAliases><mappers> <mapper resource&#61;"mybatis/userMapper.xml"/>mappers>
configuration>

参数说明
typealias
用来为已经存在的类型重新定义名字的&#xff0c;通过命名&#xff0c;可以使代码变得更加清晰。

mappers
用来在mybatis初始化的时候&#xff0c;告诉mybatis需要引入哪些Mapper映射文件。
Mapper映射文件
是Java实体类与数据库对象之间的桥梁。在实际的使用过程中&#xff0c;一般一个Mapper文件对应一个数据库操作Dao接口。

4,在上面配置文件中指定的位置写好mapper映射文件

namespace&#61;"spring.dao.userDao" ><select id&#61;"selectUserInfo" resultType&#61;"pd">select*fromuserInfoselect>

参数说明
namespace
在mybatis中&#xff0c;映射文件中的namespace是用于绑定Dao接口的&#xff0c;当你的namespace绑定接口后&#xff0c;你可以不用写接口实现类&#xff0c;mybatis会通过该绑定自动帮你找到对应要执行的SQL语句

5 写namespace绑定的dao层接口(PageData是我自己写的一个map类&#xff0c;可以随意替换需要的数据类型)

public interface userDao {public PageData selectUserInfo();
}

6写好dao层接口后&#xff0c;本来是需要些service层&#xff0c;通过service调用dao层接口&#xff0c;再通过controller调用service&#xff0c;但这里为了测试方便直接用controller依赖注入dao层来调用接口

&#64;RestController
&#64;RequestMapping("/user")
public class userController {&#64;AutowireduserDao dao;&#64;RequestMapping("/getInfo")public PageData getUserInfo(){return dao.selectUserInfo();}
}

项目结构
这里写图片描述
项目结构很重要&#xff0c;业务代码必须放在启动类的子包下面&#xff0c;不然会扫不到&#xff0c;导致依赖注入失败&#xff0c;然后命名也很重要不然会产生冲突无情报错&#xff0c;我之前就因为把映射文件夹命名为mapper而产生冲突报错

Result Maps collection does not contain value for sys.dao.userDao.Map

这里写图片描述

当然如果一切顺利很快就可以把数据库的数据查出来

这里写图片描述


推荐阅读
author-avatar
六月天天2502855997
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有