01-Mybatis基础配置
1、Spring整合Mybatis
创建jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/spring jdbc.username=root jdbc.password=Aa123456
编写JDBC配置类
@Configuration
// 注明jdbc配置文件名
@PropertySource("classpath:jdbc.properties")
public class JdbcConfig {
@Value("${jdbc.driver}")
private String className;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean
public DataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(className);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
}
- 编写MybatisConfig注册类
@Configuration
public class MybatisConfig {
//由于SqlSessionFactoryBean是Mybatis的核心对象,且无状态,创建一次即可,则交由SpringIoc容器管理即可
//其他Mapper以及实体对象以及有状态对象不建议SpringIoc容器管理,除非特殊对象
@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) {
// 创建SqlSessionFactoryBean 对象
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
// 设置typeAlias包扫描路径
sqlSessionFactoryBean.setTypeAliasesPackage("top.newhand");
sqlSessionFactoryBean.setDataSource(dataSource);
return sqlSessionFactoryBean;
}
// 这里是纯注解开发,则Mybatis的配置文件也用注解开发,所以省略Mybatis的配置文件
// 注意这里引用了 Mybatis-Spring的包,Pom文件里加载了
// 目前主流框架Spring全家桶,所以其他第三方插件需要自己对Spring兼容配置,而不是Spring对他们进行兼容
@Bean
public MapperScannerConfigurer mapperScannerConfigurer () {
MapperScannerConfigurer msc = new MapperScannerConfigurer();
// 设置Mybatis扫描路径,一般设置代码的上一层级
msc.setBasePackage("top.newhand.dao");
return msc;
}
}
- 编写Dao层
@Repository
public interface AccountDao {
@Insert("insert into user(id, name) values (#{id}, #{name})")
void save(Account account);
@Delete("delete from user where id = #{id}")
void delete(Integer id);
@Update("update user set id = #{id}, name = #{name} where id = #{id}")
void update(Account account);
@Select("select * from user")
List<Account> findAll();
@Select("select * from user where id = #{id}")
Account findById(Integer id);
}
- 编写Test测试类
//【第二步】使用Spring整合Junit专用的类加载器
@RunWith(SpringJUnit4ClassRunner.class)
//【第三步】加载配置文件或者配置类
@ContextConfiguration(classes = {SpringConfig.class})
public class AccountServiceTest {
//支持自动装配注入bean
@Autowired
private AccountService accountService;
@Test
public void testFindById(){
System.out.println(accountService.findById(1));
}
@Test
public void testFindAll(){
System.out.println(accountService.findAll());
}
}
作者:何贤刚 创建时间:2024-03-08 19:39
最后编辑:何贤刚 更新时间:2024-04-19 22:33
最后编辑:何贤刚 更新时间:2024-04-19 22:33