
12

【笔记】Spring整合MyBatis
source link: https://feiju12138.github.io/2022/10/08/Spring%E6%95%B4%E5%90%88MyBatis/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【笔记】Spring整合MyBatis
2022-10-08 Java后端学习指北
1
Spring整合MyBatis学习笔记
pom.xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
定义JDBC配置类
- 利用数据库连接池druid创建类型为DataSource的bean对象
src/main/java/com/conf/JDBCConfig.java
package com.conf;
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.context.annotation.Bean;
import javax.sql.DataSource;
public class JDBCConfig {
@Bean
public DataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl("");
dataSource.setUsername("");
dataSource.setPassword("");
return dataSource;
}
}
定义MyBatis配置类
sqlSessionFactoryBean.setTypeAliasesPackage("");
:利用包扫描自动配置返回值类型别名。想当于<typeAliases><package name="com.pojo"/></typeAliases>
配置mapperScannerConfigurer.setBasePackage("");
:配置Mapper扫描的包名
package com.conf;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.mapper.MapperScannerConfigurer;
import org.springframework.context.annotation.Bean;
import javax.sql.DataSource;
public class MybatisConfig {
/**
* 定义MyBatis配置的bean
*/
@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean (DataSource dataSource) {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setTypeAliasesPackage("com.pojo");
sqlSessionFactoryBean.setDataSource(dataSource);
return sqlSessionFactoryBean;
}
/**
* 定义Mapper扫描的bean
*/
@Bean
public MapperScannerConfigurer mapperScannerConfigurer(DataSource dataSource) {
MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
mapperScannerConfigurer.setBasePackage("com.dao");
return mapperScannerConfigurer;
}
}
定义全局配置类
- 引入JDBC配置
- 引入MyBatis配置
src/main/java/com/conf/SpringConfig.java
@ComponentScan("")
:包扫描@Import()
:引入配置类
package com.conf;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@ComponentScan("com")
@Import({JDBCConfig.class, MybatisConfig.class})
public class SpringConfig {
}
src/main/java/com/pojo/User.java
package com.pojo;
public class User {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
src/main/java/com/dao/UserDao.java
package com.dao;
import com.pojo.User;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface UserDao {
@Select("SELECT * FROM user")
List<User> selectAll();
}
src/main/java/com/Application.java
package com;
import com.conf.SpringConfig;
import com.dao.UserDao;
import com.pojo.User;
import com.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import java.util.List;
public class Application {
public static void main(String[] args) {
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringConfig.class);
UserDao userDao = applicationContext.getBean(UserDao.class);
List<User> users = userDao.selectAll();
System.out.println(users);
}
}
</div
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK