- http://start.spring.io/ 在该网站构建项目
- 创建application.properties
# 数据库配置 spring.datasource.url=jdbc:mysql://127.0.0.1/test spring.datasource.username=root spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # mybatis 配置文件 mybatis.config-location=classpath:mybatis-config.xml mybatis.mapper-locations=classpath:/mapper/*.xml
- 创建 mybatis-config.xml 配置
-
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!-- 全局 启用或禁用 在此配置下任何映射器中配置的任何缓存 --> <setting name="cacheEnabled" value="true"/> <!-- 设置驱动程序等待来自数据库的响应的秒数。 --> <setting name="defaultStatementTimeout" value="3000"/> <!-- 启用从数据库列名(下划线)到Java属性名称(驼峰)的自动映射 --> <setting name="mapUnderscoreToCamelCase" value="true"/> <!-- Allows JDBC support for generated keys. A compatible driver is required. This setting forces generated keys to be used if set to true, as some drivers deny compatibility but still work --> <setting name="useGeneratedKeys" value="true"/> </settings> <!-- 给对象起别名,在mapper.xml文件里使用这些对象就不用写包路径那么长了 --> <typeAliases> <typeAlias alias="Integer" type="java.lang.Integer" /> <typeAlias alias="Long" type="java.lang.Long" /> <typeAlias alias="HashMap" type="java.util.HashMap" /> <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" /> <typeAlias alias="ArrayList" type="java.util.ArrayList" /> <typeAlias alias="LinkedList" type="java.util.LinkedList" /> </typeAliases> <!-- Continue going here --> </configuration>
-
-
注:mapper.xml
-
一般情况下必须要放到resources里的,因为在src/main/java的.xml文件默认是不会编译的;
-
如果需要则需要添加其他配置:
-
<!-- pom.xml 里添加下面的配置,让项目在编译的时候也扫描src/main/java里的xml文件 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
- Mapper.java
- 在对应的java文件上面加上@Mapper,或者在DemoApplication启动类上加一个全局的包扫描
@MapperScan("com.example.demo.mapper")
- 注意不要写成 com.example.demo.* ,要不然demo下的service层也会被当成mapper,从而会报service层的方法找不到
- 在对应的java文件上面加上@Mapper,或者在DemoApplication启动类上加一个全局的包扫描