spring整合mybatis(纯注解)
温馨提示:
本文最后更新于 2022年08月27日,已超过 751 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
我们在写一个独立的小项目的时候往往不需要引入mvc模块,仅仅需要操作数据库即可
所以就整合一下spring和mybatis,方便进行对数据库的操作
注意:
文档中代码不全,评论填写邮箱,自动发送
一. 整体项目结构
二. 依赖相关
Spring核心依赖
spring-core
,spring-context
,spring-beans
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core,spring-context,spring-beans</artifactId>
<version>5.2.19.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.19.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.19.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.19.RELEASE</version>
<scope>compile</scope>
</dependency>
mybatis依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
spring整合mybatis整合依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
MySQL驱动
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
三. 配置文件
db.properties数据库参数配置文件
database.driver=com.mysql.cj.jdbc.Driver
database.url=jdbc:mysql://localhost/dblog?characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false
database.username=root
database.password=root
mybatis.properties Mybatis参数配置文件
mybatis.aliasesPackage=com.it1997.domain
mybatis.mapperLocations=classpath:mapper/*Mapper.xml
四. 配置类
SpringConfig配置类
@Configuration
@ComponentScan("com.it1997") // 开启Spring注解组件扫描
@MapperScan("com.it1997.mapper") // 扫描mapper接口地址
public class SpringConfig {
}
这个配置类指定了spring扫描的包路径和mapper接口路径
JdbcConfig配置类
这个配置类实现的功能是
读取properties配置文件
构造数据源
配置动态创建数据库连接的对象
@Configuration // 该注解声明该类是一个配置类,不能省略
@PropertySource({"classpath:db.properties","classpath:mybatis.properties"})
public class JdbcConfig {
// 驱动名称
@Value("${database.driver}")
private String driverClassName;
// 数据库连接地址
@Value("${database.url}")
private String url;
// 数据库用户名
@Value("${database.username}")
private String username;
// 数据库密码
@Value("${database.password}")
private String password;
@Value("${mybatis.aliasesPackage}")
public String aliasesPackage;
@Value("${mybatis.mapperLocations}")
private String mapperLocations;
// 配置数据源
@Bean("dataSource")
public DataSource createDataSource() {
// 创建Druid连接池对象
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
dataSource.setDefaultAutoCommit(true); // 自动提交事务,默认true
return dataSource;
}
// 配置创建数据库连接的对象
@Bean
public SqlSessionFactoryBean getSqlSessionFactoryBean(DataSource dataSource) throws IOException {
SqlSessionFactoryBean sqlSessionFactoryBean=new SqlSessionFactoryBean();
// 设置连接池
sqlSessionFactoryBean.setDataSource(dataSource);
// 实体类起别名
sqlSessionFactoryBean.setTypeAliasesPackage(aliasesPackage);
// 配置mapper.xml配置文件路径
sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
return sqlSessionFactoryBean;
}
}
五. 测试类
public static void main( String[] args ) {
System.out.println( "Hello World!" );
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringConfig.class);
UserMapper userMapper = applicationContext.getBean(UserMapper.class);
List<String> list = userMapper.selectUserId();
System.out.println(list.toString());
}
正文到此结束
- 本文标签: Spring mybatis
- 本文链接: https://www.it1997.com/article/104
- 版权声明: 本文由小陈没烦恼原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权