SpringBoot使用mybatis

2017-01-10 10:03:33来源:oschina作者:竹隐江南人点击



#加载mybatis依赖

mysql
mysql-connector-java
5.1.32



org.mybatis.spring.boot
mybatis-spring-boot-starter
${spring.mybatis.version}


org.mybatis.spring.boot
mybatis-spring-boot-autoconfigure
${spring.mybatis.version}
#创建一个公共的组件依赖类
创建一个组件公共类ModuleConfig,说一下为什么创建这个类,如果你的项目需要分包,分模块,分工程最终进行组合依赖的话,这个公共组件可以在每个包下建一个,进行管理指定包、项目的依赖已经将来可能的扩展
当然如果你的项目只是一个Web业务 没有我说的分布式、分包、分模块这个类可以不用建,该类中的注解都可以在启动类上来写,效果一样的。
下段代码就是该类的全部,简单说一下,@Configuration 进行配置注册,@MapperScan这个是告知你的Mapper类是在哪个位置的,这样设定之后,就不需要在每个Mapper类上加注解@Mapper了,可以看一下【其他代码中的Mapper】 @Configuration
@MapperScan("com.dengzy.kuj.mybatis.dao")
public class ModuleConfig {

}
#其他的代码
启动类:@EnableTransactionManagement开启事务管理
@SpringBootApplication
@EnableTransactionManagement
public class FwApplication {
public static void main(String[] args) {
SpringApplication.run(FwApplication.class);
}
}
Mapper类
@Repository("userMapper")
public interface UserMapper {
int deleteByPrimaryKey(Long id);

int insert(User record);

int insertSelective(User record);

User selectByPrimaryKey(Long id);

int updateByPrimaryKeySelective(User record);

int updateByPrimaryKey(User record);
}
Service及其实体类就此忽略.....
#配置文件
其实这个mybatis的配置文件默认可以,如果你需要根据业务和需求进行调整mybatis那么可以如下配置: #application.yml配置文件
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&autoReconnect=true&characterEncoding=utf8
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
tomcat:
minIdle: 5
maxActive: 20
initialSize: 5
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1
testWhileIdle: true
testOnBorrow: false
testOnReturn: false

#mybatis的优化配置等等,如果你不需要去掉也可以
mybatis:
config-location: classpath:META-INF/mybatis-config.xml
下面这个是mybatis的配置文件信息,基本没有用什么东西,算是一个记录,需要的大家可以根据需求来。
<?xml version="1.0" encoding="UTF-8" ?>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">



















访问一下,证明我成功了(单元测试我也有,我准备是单元测试单独写一篇,这个就用了)
![输入图片说明](/2014th7cj/d/file/p/20170110/dulz4jzu04m.jpg "在这里输入图片标题")
项目结果如下图
![输入图片说明](/2014th7cj/d/file/p/20170110/4mcmfgaxdqz.jpg "在这里输入图片标题")
#关于IDEA工具不编译src目录下的xml问题
最新的Idea工具不会把src目录下的xml当作源码编译,这样就导致dao里面的Mapper与对应的xml对应不上,此处有两种方式,
一种是把xml放到resource下,建立一个目录比如mapper,放进去,然后在配置文件中配置如下
#mybatis
mybatis:
config-location: classpath:META-INF/mybatis-config.xml
mapper-locations: classpath:mapper/*.xml #指定mapper.xml位置
另一种就是用maven的插件,在pom.xml中代码有注释,在中添加如下代码



src/main/java

**/*.xml


#完整的pom.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

com.dengzy.kuj
springboot-mybaties
1.0-SNAPSHOT


4.3.3.RELEASE
1.4.3.RELEASE
1.1.1
UTF-8
UTF-8






org.springframework.boot
spring-boot-dependencies
${spring.boot.version}
pom
import







org.springframework.boot
spring-boot-starter-web




org.springframework.boot
spring-boot-starter-test




mysql
mysql-connector-java
5.1.32




org.mybatis.spring.boot
mybatis-spring-boot-starter
${spring.mybatis.version}


org.mybatis.spring.boot
mybatis-spring-boot-autoconfigure
${spring.mybatis.version}







org.springframework.boot
spring-boot-maven-plugin
${spring.boot.version}



repackage





org.springframework
springloaded
1.2.2.RELEASE







src/main/java

**/*.xml
**/*.properties



src/main/resources

**/*.properties
**/*.yml
**/*.xml

false




最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台