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.Drivermybatis :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
当然如果一切顺利很快就可以把数据库的数据查出来