标签:xml mapper java springboot Mapper spring mybatis 整合 MyBatis
添加mybatis、MySQL驱动、Druid(连接池)依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.5</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
在application.properties中配置数据库的基本信息
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
-
直接使用mybatis的注解进行查询
@Repository
public interface BookMapper {
@Select("select * from Book where id=#{id}")
Book queryById(String id);
}
Mapper.java创建好之后,还要配置mapper扫描,第一种方法是在每个Mapper.java上添加 @Mapper注解(不推荐);第二种在项目启动类上添加@MapperScan扫描Mapper
@SpringBootApplication
@MapperScan(basePackages = "com.hjy.dao")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
-
使用mapper.xml进行查询
使用mapper.xml进行查询时,xml文件可以存放在两个地方:
-
和Mapper.java存放在同一个包下,放在这里的Mapper.xml会被自动扫描到,但是有另外一个Maven带来的问题,就是java目录下的xml资源在项目打包时会被忽略掉,所以,如果UserMapper.xml放在包下,需要在pom.xml文件中再添加如下配置,避免打包时java目录下的XML文件被自动忽略掉
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
-
xml放在resources目录下,这样就不用担心打包时被忽略了,但是放在resources目录下,又不能自动被扫描到,需要在application.properties中添加配置。例如在resources目录下创建mapper目录用来放mapper文件
mybatis.mapper-locations=classpath:mapper/*.xml
标签:xml,mapper,java,springboot,Mapper,spring,mybatis,整合,MyBatis 来源: https://www.cnblogs.com/yjh1995/p/14164430.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。